我正在尝试用乳胶创建一个文档,但在章节位置方面遇到了困难。
我希望在文档的每一页上都放置一个章节,但我希望将其放在页面的左上角。但是,在我尝试的过程中,似乎出现了很大的空白。
这是我的代码:
\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}