将章节标题移至页面左上角

将章节标题移至页面左上角

我正在尝试用乳胶创建一个文档,但在章节位置方面遇到了困难。

我希望在文档的每一页上都放置一个章节,但我希望将其放在页面的左上角。但是,在我尝试的过程中,似乎出现了很大的空白。

下面是我看到的截图 在此处输入图片描述 在此处输入图片描述

这是我的代码:

\documentclass
[oneside,landscape,tikz,border=2pt,png]
{book}
\usepackage{xcolor}
\usepackage{blindtext}
\usepackage{tikz}
\usepackage{smartdiagram}

\usepackage[absolute,overlay]{textpos}
\setlength{\TPHorizModule}{1mm}
\setlength{\TPVertModule}{1mm}
\usetikzlibrary{shapes.symbols}

\tikzset{sequence item/.append style={
        /utils/exec={\ifnum\xi=1
            \tikzset{signal from=nowhere}
            \fi
        }
    }
}

\usepackage[left=0.2in,right=0.2in,bottom=0.5in]{geometry}


\usepackage[
automark,
autooneside=false,
markcase=noupper,
headsepline,
headwidth=\the\textwidth+12mm:-5mm,
]{scrlayer-scrpage}
\clearpairofpagestyles
\rehead{\leftmark}
\lohead{\rightmark}
\ohead{\pagemark}
\renewcommand\chaptermarkformat{}% no chapternumber in header
\setkomafont{pageheadfoot}{\normalfont}
\renewcommand*{\pagemark}{{\usekomafont{pagenumber}{\thepage}}}

% define new layers
\DeclareNewLayer[
background,
oddpage,
align=tr,
hoffset=\paperwidth,
voffset=0pt,%distance from top
width=1cm,% width of the swatch
height=\dimexpr\voffset+1in+\topmargin+\headheight\relax,% height of the swatch
contents={\textcolor{swatchcolor}{\rule{\layerwidth}{\layerheight}}}
]{swatch.odd}
\DeclareNewLayer[
clone=swatch.odd,
evenpage,
align=l,
hoffset=0pt
]{swatch.even}

\DeclareNewLayer[
foreground,
oddpage,
align=br,
hoffset=\paperwidth,
voffset=\paperheight,
width=3em,
height=2\baselineskip,
contents={{%
        \setlength{\fboxsep}{0pt}%
        \colorbox{white}{\parbox[c][\layerheight][c]{\layerwidth}{\centering\pagemark}}%
}}
]{pagenumberouterbottom.odd}
\DeclareNewLayer[
clone=pagenumberouterbottom.odd,
evenpage,
align=bl,
hoffset=0pt
]{pagenumberouterbottom.even}
\addtokomafont{pagenumber}{\color{black}\bfseries}
\AddLayersToPageStyle{scrheadings}{pagenumberouterbottom.odd,pagenumberouterbottom.even}
\AddLayersToPageStyle{plain}{pagenumberouterbottom.odd,pagenumberouterbottom.even}

% add layers to every pagestyle
\AddLayersToPageStyle{@everystyle@}{swatch.odd,swatch.even}

\newcommand\swatchcolor[1]{\colorlet{swatchcolor}{#1}}
\swatchcolor{white}

%Font

\usepackage{carlito}
\usepackage{fontspec}
\setmainfont{Carlito}



\begin{document}
    \tableofcontents
    \newpage
    \vspace{-2in}
    \chapter*{First chapter}\swatchcolor{red}
    
    \Blindtext[1]
    
    \newpage
    \chapter{Second chapter}\swatchcolor{blue}

    \Blindtext[1]
    
    \chapter{Third chapter}\swatchcolor{green}

    \Blindtext[1]
    
\end{document}

答案1

通过摆弄软件包top提供的选项,geometry我得到了这个: 硬修复 这是一个修复,但它并不令人满意,它会全局改变页面格式(正如您所见,右上角的红色矩形现在消失了)。

删除空格的另一种方法是通过titlesec包。

我个人认为标题位于页面中央没有任何问题(我也认为这是预期的功能)。如果您尝试实现演示风格,最好使用类beamer

为什么不使用标准纵向页面格式?

代码

\usepackage{geometry}
\geometry{
    top = -2cm,
    left=0.2in,
    right=0.2in,
    bottom=0.5in
}
\usepackage{titlesec}
\titlespacing*{\chapter}{0pt}{-150pt}{40pt}

答案2

我想到的是 titlesec 包,它包含\titlespacing*{\chapter}{left space}{vertical space before title}{vertical space after title}允许您调整章节位置的功能。

为了做到这一点,你还必须更改章节的标题格式。从他们的指南(titlesec.pdfhttps://www.ctan.org/pkg/titlesec):

\titlespacing 不能与 \chapter 和 \part 一起使用,除非您通过 \titleformat、简单设置或 \titleclass 更改其标题格式。

它必须与页面的几何编辑相结合。

\setlength{\textwidth}{width page}
\setlength{\textheight}{height page}

相关内容