KOMA-Script 是否有任何命令可以将零件标题和零件编号设置在一行中,并且如果标题足够长而需要换行,则会将缩进应用于第二行(与标题的第一行对齐)?它看起来像:
第一部分非常非常非常非常非常非常非常非常非常非常非常非常非常_______这个非常非常长的标题行
那么 ________ 表示空格,即“this”前面的缩进。
在 MWE 之下:
\documentclass[]{scrartcl}
\usepackage{lipsum}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\part{Lorem}
\section{ipsum3}
\subsection{dolor}
\lipsum
\end{document}
如果没有可用的 KOMA-Script 命令,我该如何实现?
答案1
使用时,\RedeclareSectionCommand
您只需将style
键更改为style=section
并将设置indention=0pt
为part
。此外,您必须重新定义partformat
以在零件编号和标题之间插入空格:
\RedeclareSectionCommand[style=section,indent=0pt]{part}
\renewcommand\partformat{\partname~\thepart\autodot\enskip}
代码:
\documentclass{scrartcl}
\usepackage{lipsum}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\RedeclareSectionCommand[style=section,indent=0pt]{part}
\renewcommand\partformat{\partname~\thepart\autodot\enskip}
\begin{document}
\part{Lorem}
\section{ipsum3}
\subsection{dolor}
\lipsum[1]
\part{Very very very very very long title line}
\section{ipsum3}
\subsection{dolor}
\lipsum
\end{document}
答案2
section
这里我复制了in的定义scrartcl.cls
并将其添加到分段命令的重新声明中\part
:
\makeatletter
\RedeclareSectionCommand[%
style=section,%
level=0,%
indent=\z@,%
beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,%
afterskip=2.3ex \@plus.2ex,%
tocindent=0pt,%
tocnumwidth=1.5em%
]{part}
\makeatother
查看KOMA-Script 指南,第 21 章,第 359 页。
梅威瑟:
\documentclass[]{scrartcl}
\usepackage{lipsum}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\makeatletter
\RedeclareSectionCommand[%
style=section,%
level=0,%
indent=\z@,%
beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,%
afterskip=2.3ex \@plus.2ex,%
tocindent=0pt,%
tocnumwidth=1.5em%
]{part}
\makeatother
\begin{document}
\part{Very very very very very very very very very very very very this very very very long title line}
\section{ipsum3}
\subsection{dolor}
\lipsum
\end{document}
示例输出: