我正在寻找一种“巧妙地”实现以下结果的方法,因为我目前正在使用 titlesec,它会导致“警告”,因为它没有针对 KOMA 进行优化,而我正在使用 scrreprt 进行论文。 (完全 LATEX 菜鸟) 因此,我想要实现的是右侧的格式:1 | Chaptername
章节上方不应有任何空格(请原谅我的英语不好),这就是我使用标题间距的原因。(它应该是 1.5 倍间距,但我不知道如何获得动态间距,因此粗略地将其“转换”为 pt)此外,我想坚持章节的风格,包括垂直条 |
然而我的“解决方案”显然很糟糕。:D
\documentclass[12pt,a4paper,headings=standardclasses]{scrreprt}
\usepackage{showframe}
\usepackage{graphicx}
\usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.00cm]{geometry}
\usepackage[onehalfspacing]{setspace}
%----------------------------------------------------------------------------
% TITLES
%----------------------------------------------------------------------------
\usepackage{titlesec}
\usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage{titlesec, blindtext, color}
\definecolor{gray75}{gray}{0.75}
\newcommand{\hsp}{\hspace{10pt}}
\titleformat{\chapter}[hang]{\LARGE\bfseries}{\thechapter\hsp\textcolor{gray75}{|}\hsp}{0pt}{\LARGE\bfseries}
\titlespacing*{\chapter}{0pt}{-20pt}{28.8pt}
\titlespacing*{\section}{0pt}{21.6pt}{15pt}
\titlespacing*{\subsection}{0pt}{21.6pt}{14.4pt}
\titlespacing*{\subsubsection}{0pt}{21.6pt}{14.4pt}
答案1
最小示例在章节编号和章节标题之间更改垂直偏移\chapter
并添加垂直规则。
编辑:正如 Schweinebacke 在评论中提到的那样,由于 KOMA v3.26 可以使用 -key afterindent
,因此应该使用下面 MWE 中的代码
\RedeclareSectionCommand
[%
beforeskip=0pt,
afterindent=false
]
{chapter}
但请注意,两个版本之间的差异仅为 5.36nm,因此不可见(并且在打印光栅化过程中会丢失)。以下代码也适用于旧版本的 KOMA,因此如果向后兼容性确实困扰您,则应使用以下代码。
\documentclass[]{scrreprt}
\RedeclareSectionCommand
[%
beforeskip=-1sp
]
{chapter}
\renewcommand\chapterformat
{%
\mbox
{%
\chapappifchapterprefix{\nobreakspace}\thechapter \autodot
\IfUsePrefixLine{}{\enskip $|$\enskip}%
}%
}
\usepackage{duckuments}
\begin{document}
\duckument
\end{document}
结果为showframe
: