修改 KOMA 中的小节编号

修改 KOMA 中的小节编号

在我的 中scrartcl,我想将小节编号修改为UNIT I,而不在前面加上节编号。我该怎么做?

MWE 是:

\documentclass{scrartcl}
\begin{document}
\section{Hello}
\subsection{World}

Instead of \textbf{1.1 World}, I want \textbf{Unit I. World}
\end{document}

答案1

字面上地在谷歌上搜索“koma latex change subsection”并使用首次命中:)。

\documentclass{scrartcl}

% https://tex.stackexchange.com/questions/353008
\renewcommand*\thesubsection{Unit \Roman{subsection}}

\begin{document}

\section{Hello}
\subsection{World}

\end{document}

在此处输入图片描述

答案2

如果你的用例不需要你创建对“单位”的交叉引用,@Dr.ManuelKuehner 的回答简单明了就完全足够了。

但是,如果你预见到需要创建单位的交叉引用,最好不是将单词“Unit”直接合并到宏中\thesubsection。相反,最好使用低级 LaTeX 命令\@seccntformat;请参阅下文以了解此想法的实现。如果您采用这种方法,作为额外的好处,您可以利用软件包的交叉引用功能cleveref,例如,使用\cref\Cref命令一次性创建对多个对象的交叉引用调用。

顺便说一句,该方法对于 Koma-Script 文档类和“基本” LaTeX 文档类( 、和)\@seccntformat同样适用。articlereportbook

在此处输入图片描述

\documentclass{scrartcl}

% Method proposed in "The LaTeX Companion", 2nd ed.:
\makeatletter
\def\@seccntformat#1{\@ifundefined{#1@cntformat}%
    {\csname the#1\endcsname\space}%    default
    {\csname #1@cntformat\endcsname}}%  enable individual control
\newcommand\subsection@cntformat{Unit \thesubsection\@.\space} % subsection level
\makeatother

\renewcommand\thesubsection{\Roman{subsection}}

\usepackage{cleveref} % for \cref and \Cref macros
\crefname{subsection}{unit}{units} % label to be used in cross-references

\begin{document}
\section{Hello}       \label{sec:hello}
\subsection{World}    \label{sec:world}
\subsection{Solar System} \label{sec:system}
\subsection{Galaxy}   \label{sec:galaxy}
\subsection{Universe} \label{sec:universe}

As required, the first subsection header says \textbf{Unit I\@. World}.

\medskip
\noindent
As shown in \Cref{sec:world,sec:galaxy,sec:universe} of \Cref{sec:hello}, \dots
\end{document}

相关内容