我正在使用 scrreprt,我希望章节标题的格式类似于这个问题:左右边距中的章节编号...只需做一点小改动。如何让数字与多行章节标题的底线对齐,而不是第一行?
这似乎应该是一个简单的改变,但我不太理解那里给出的答案,不知道该改变什么。
谢谢!
答案1
从 KOMA-Script 版本 3.19 开始,您可以重新定义\chapterlinesformat
使用底部对齐的 parbox:
\documentclass[
fontsize=12pt,
twoside,
ngerman,
parskip=half,
headings=big,
open=right
]
{scrreprt}[2015/10/03]
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{blindtext}% dummy text
\DeclareMathAlphabet\EuRoman{U}{eur}{m}{n}
\SetMathAlphabet\EuRoman{bold}{U}{eur}{b}{n}
\newcommand{\eurom}{\EuRoman}
\makeatletter
\newsavebox{\feline@chapter}
\newcommand\feline@chapter@marker[1][4cm]{%
\sbox\feline@chapter{%
\resizebox{!}{#1}{\setlength{\fboxsep}{0pt}%
\colorbox{white}{\color{black}$\eurom\thechapter$}}}%
\raisebox{\depth}{\usebox{\feline@chapter}}%
}
\renewcommand*{\chapterformat}{\feline@chapter@marker[1.61cm]}
\renewcommand\chapterlinesformat[3]{%
\ifstr{#1}{chapter}
{%
\makebox[\textwidth][l]{%
\parbox[b]{\textwidth}{\raggedchapter #3}%
\hspace*{\marginparsep}#2%
}\\*[-.5\baselineskip]
\rule{\textwidth}{.4pt}%
\par%
}
{\@hangfrom{#2}{#3}}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
\blindtext[2]
\end{document}
答案2
如果知道这个特定类的内部结构,也许这是一个简单的更改。我不知道,但我可以提供一个不太优雅的解决方案,直到有更多知识渊博的人出现。
代码来自你提到的答案,并在 之前添加如下定义\begin{document}
。
\newcommand\mychapter[2][\mychapterheading]%
{\def\mychapterheading{#2}%
\chapter[#1]{\parbox[b]{\linewidth}{#2}}%
}
作为示例,请考虑以下文档。
... Code from the other posting up to \begin{document} ...
... Definition of \mychapter above
\begin{document}
\tableofcontents
\chapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
\mychapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
\mychapter{Lorem ipsum dolor sit amet,\\consectetuer adipiscing elit}
\mychapter[Lorem ipsum dolor sit amet, consectetuer adipiscing elit]%
{Lorem ipsum dolor sit amet,\\consectetuer adipiscing elit}
\end{document}
这将引出以下目录和章节标题:
第一章的标题根据原始章节定义进行格式化。第二章使用新定义,但将换行留给 LaTeX。第三章包含手动换行,也用于目录。最后,第四个示例也包含手动换行,但新命令的可选参数包含不带换行符的章节标题,这是目录中的内容。