我是调整章节标题的 LaTeX 代码的新手。我尝试在论坛上搜索有关 KOMA-Script 章节标题的一些信息,找到了一些。但是,我没有成功得到我想要的东西。
有人可以稍微解释一下我的 MWE 以及调整 KOMA-Script 标题的一般/最小输入吗?
关于我想要的文件,如何
将章节号与左边距的右侧对齐
将章节名称与正文左侧对齐
控制正文顶部与章节编号和名称之间的垂直空间
提前谢谢了
\documentclass{scrreprt}
\usepackage[
includemp,
showframe,
reversemp,
paperwidth=20.1cm,
paperheight=25.80cm,
top=2.30cm,
bottom=3.4cm,
inner=2.7cm,
outer=2.7cm,
marginparwidth=1.6cm, % Fixed for now
marginparsep=0.4cm
]{geometry}
\makeatletter % to set the marginpar on the left side in showframe
\let\Gm@vrules@mpi\Gm@vrules@mpii
\makeatother
\newlength\mylen
\setlength\mylen{\dimexpr\oddsidemargin+\hoffset\relax}
\renewcommand*{\chapterformat}{%
{\normalfont\Large\bfseries}
{\llap{\hspace*{-\mylen}\thechapter\hfill}}{}
}
\renewcommand*{\sectionformat}{%
{\normalfont\Large\bfseries}
{\llap{\hspace*{-\mylen}\thesection\hfill}}{}
}
\renewcommand*{\subsectionformat}{%
{\normalfont\Large\bfseries}
{\llap{\hspace*{-\mylen}\thesubsection\hfill}}{}
}
\begin{document}
\chapter{test}
\section{test}
\subsection{test}
\end{document}
答案1
相应的 ”兰德公司推出的《连线》示例« (链接至德文页面) 您可以将标题数字右对齐到左边距,使用:
\renewcommand*{\chapterformat}{\makebox[0pt][r]{\chapappifchapterprefix{\ }\thechapter\autodot\hskip\marginparsep}}%
\renewcommand*{\sectionformat}{\makebox[0pt][r]{\thesection\autodot\hskip\marginparsep}}
\renewcommand*{\subsectionformat}{\makebox[0pt][r]{\thesubsection\autodot\hskip\marginparsep}}
\renewcommand*{\subsubsectionformat}{\makebox[0pt][r]{\thesubsubsection\autodot\hskip\marginparsep}}
这\…format
命令用于输出标题数字。
\makebox[0pt][r]
用于在标题开头的左侧进行输出。\hskip\marginparsep
用于在边距列和文本区域之间设置正常距离。
beforeskip
可以使用命令的选项来控制文本区域开头和章节标题之间的距离\RedeclareSectionCommand
,例如,
\RedeclareSectionCommand[beforeskip=0pt,afterindent=false]{chapter}
因为默认值意味着大于或等于零afterindent=bysign
的值会导致章节标题后第一个段落缩进,所以用于明确防止缩进。beforeskip
afterindent=false
3.26 之前的 KOMA-Script 版本不提供选项afterindent
。因此,对于旧版本的 KOMA-Script,您必须使用类似以下内容:
\RedeclareSectionCommand[beforeskip=-1sp plus -1sp minus 1sp]{chapter}% remove the vertical skip before the chapter heading
这几乎相同,但不太直观。
有关更多信息\RedeclareSectionCommand
及其所有选项(例如,belowskip
控制标题下方的距离)参见第二部分英文版 KOMA-Script 手册或者德语 KOMA-Script 手册甚至德语 KOMA-Script 书。
作为 MWE:
\documentclass{scrreprt}
\usepackage[
includemp,
showframe,
reversemp,
paperwidth=20.1cm,
paperheight=25.80cm,
top=2.30cm,
bottom=3.4cm,
inner=2.7cm,
outer=2.7cm,
marginparwidth=1.6cm, % Fixed for now
marginparsep=0.4cm
]{geometry}
\makeatletter % to set the marginpar on the left side in showframe
\let\Gm@vrules@mpi\Gm@vrules@mpii
\makeatother
\renewcommand*{\chapterformat}{\makebox[0pt][r]{\chapappifchapterprefix{\ }\thechapter\autodot\hskip\marginparsep}}%
\renewcommand*{\sectionformat}{\makebox[0pt][r]{\thesection\autodot\hskip\marginparsep}}
\renewcommand*{\subsectionformat}{\makebox[0pt][r]{\thesubsection\autodot\hskip\marginparsep}}
\renewcommand*{\subsubsectionformat}{\makebox[0pt][r]{\thesubsubsection\autodot\hskip\marginparsep}}
\RedeclareSectionCommand[beforeskip=0pt,afterindent=false]{chapter}% remove the vertical skip before the chapter heading without activation of first paragraph indent
% With KOMA-Script before version 3.26 you have to use instead of the line above:
% \RedeclareSectionCommand[beforeskip=-1sp plus -1sp minus 1sp]{chapter}% remove the vertical skip before the chapter heading
\usepackage{mwe}
\begin{document}
\chapter{test}
\section{test}
\subsection{test}
\lipsum
\end{document}