使用 scrreprt 格式化章节标题

使用 scrreprt 格式化章节标题

我正在使用 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。第三章包含手动换行,也用于目录。最后,第四个示例也包含手动换行,但新命令的可选参数包含不带换行符的章节标题,这是目录中的内容。

相关内容