KOMA 的 Titlesec 替代方案

KOMA 的 Titlesec 替代方案

我正在寻找一种“巧妙地”实现以下结果的方法,因为我目前正在使用 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

在此处输入图片描述

相关内容