我对 Latex 还很陌生,我想实现以下目标。
我希望我的文档具有以下编号结构:
1. chapter
1.1 section
1.1.1 subsection
A. subsubsection.
(在目录中我只希望列出章节、节和小节。)
我通过在 LaTex 文档开头添加以下额外的行来实现这一点:
% set section numbering depth
\setcounter{secnumdepth}{3} % 3 => section, subsection, subsubsection
\setcounter{tocdepth}{2} % 2 => section, subsection
% replace subsubsection numbering by single letter
\renewcommand{\thesubsubsection}{\Alph{subsubsection}}
问题:当我引用此小节时,我得到如下信息:
A
我希望它的格式如下:
1.1.1.A
答案1
无需使用额外的包,您可以简单地重新定义\p@subsubsection
哪些控件用于交叉引用子部分的前缀:
\documentclass{book}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{2}
\renewcommand\thesubsubsection{\Alph{subsubsection}}
\makeatletter
\renewcommand\p@subsubsection{\thesubsection.}
\makeatother
\begin{document}
\tableofcontents
\chapter{Test Chapter}
\section{Test Section}
A cross-reference to some subsubsections: \ref{a}, \ref{b} and \ref{c}.
\subsection{Test Subsection}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}\label{a}
\subsubsection{Test Subsubsection}\label{b}
\subsection{Test Subsection}
\subsubsection{Test Subsubsection}\label{c}
\end{document}
获得的 ToC 的图像:
以及文档主体的图像,显示标题和交叉引用所需的格式:
顺便提一下(个人),托黑茨已经提到,我认为这可能会造成混淆,因为它引入了一定程度的不一致性(用于交叉引用的字符串实际上并不属于被引用的对象)。
答案2
使用titlesec
包,您可以控制显示为小节编号的内容,并且可以与不同\thesubsection
。示例为 on article
(无章节),但这没什么区别。
\documentclass{article}
\usepackage{titlesec}
\renewcommand{\thesubsubsection}{\thesubsection.\Alph{subsubsection}}
\titleformat{\subsubsection}{\normalfont\normalsize\bfseries}{\Alph{subsubsection}}{1em}{}
\begin{document}
\tableofcontents
\section{SSSSS}
\subsection{TTTTT}
\subsection{TTTTT II}
\subsubsection{UUUUU}
\subsubsection{UUUUU II}
\subsection{TTTTT III}
\subsubsection{UUUUU III}
\end{document}
然而,我不认为这是一种好的风格,在我看来它有点令人困惑,但这取决于你如何使用它。