在另一个问题中(如何在 KOMA 脚本中将章节编号放在章节标题后面) 代码显示章节编号与章节标题重叠。我希望将章节编号(大号)放在右侧(外侧)边距中。
我在这里复制了上一个解决方案的代码,虽然我并不完全理解,但发现它可以工作。要让数字出现在边距中,必须进行哪些更改?\textwidth
用替换\pagewidth
不起作用。我希望得到一些关于如何阅读代码的提示。
\documentclass{scrbook}
\usepackage{lmodern}
\usepackage{xcolor}
\renewcommand\raggedchapter{\raggedleft}
\renewcommand*{\chapterformat}{%
\fontsize{60}{68}\selectfont\textcolor{lightgray}{\thechapter}}
\makeatletter
\renewcommand\chapterlinesformat[3]{%
\ifstr{#1}{chapter}
{\hfill\makebox[0pt][r]{#2}\makebox[0pt][r]{\parbox[b]{\textwidth}{\raggedchapter#3}}}%
{\@hangfrom{#2}{#3}}% original definition for other commands with style=chapter
}
\makeatother
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\chapter{Text elements}
In this chapter, some textual elements are shown, like figures,
tables, lists, equations, etc. Also, bananas.
\end{document}
答案1
像这样?
\documentclass{scrbook}
\usepackage{lmodern}
\usepackage{xcolor}
\renewcommand\raggedchapter{\raggedleft}
\renewcommand*{\chapterformat}{%
\rlap{\fontsize{60}{68}\selectfont\textcolor{lightgray}{\thechapter}}}
\makeatletter
\renewcommand\chapterlinesformat[3]{%
\ifstr{#1}{chapter}
{\hfill#2\makebox[0pt][r]{\parbox[b]{\textwidth}{\raggedchapter#3}}}%
{\@hangfrom{#2}{#3}}% original definition for other commands with style=chapter
}
\makeatother
\usepackage{blindtext}
\begin{document}
\tableofcontents
\blinddocument
\chapter{Text elements}
In this chapter, some textual elements are shown, like figures,
tables, lists, equations, etc. Also, bananas.
\end{document}
一些解释:
- 章节编号存储在中
\thechapter
,所以我们知道应该修改包含的代码\thechapter
。 - 代码
\rlap
创建一个宽度为零的框,然后将其内容悬挂在右侧。您也可以尝试一下\llap
。使用该mathtools
包,有\clap
,并且有数学模式等价:\mathrlap
,\mathllap
和\mathclap
。 - 我建议在章节标题和章节编号之间添加一些空格,这样你就可以写
\rlap{ \fontsize...
(注意添加的空格)。这当然是我的个人偏好。