我正在使用book class
,我想删除部分编号中的最后一个点,即我有
1. Chapter Name
1.1. Section Name
1.1.1. Subsection Name
1.1.1.1. Subsubsection Name
我想
1. Chapter Name
1.1 Section Name
1.1.1 Subsection Name
1.1.1.1 Subsubsection Name
寻找类似的帖子,我发现[如何使用 babel 的西班牙语删除目录中章节编号后的点?虽然解决方案很好,但我仍然有一个问题:当我使用代码时,es-nosectiondot
章节的点会消失在目录中,LoF 和 LoT 也是如此,即Figure 1
(Table 1
)而不是Figure 1.
(Table 1.
),因此,按照帖子的内容,我使用代码\def\numberline#1{\hb@xt@\@tempdima{#1\if&\else.\fi\hfil}}
,这很有用,因为它解决了前面的问题,但现在章节、小节和小子节的点出现在目录中,即
1. Chapter Name
1.1. Section Name
1.1.1. Subsection Name
1.1.1.1. Subsubsection Name
这是我的 MWE:
\documentclass{book}
\usepackage[spanish,es-nosectiondot]{babel}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\addto\captionsspanish{%
\renewcommand{\tablename}%
{Tabla}%
}
\makeatletter
%%add prefix Figura/Tabla in LoF/LoT
\long\def\@caption#1[#2]#3{%
\par
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname fnum@#1\endcsname}{\ignorespaces #2}}%
\begingroup
\@parboxrestore
\if@minipage
\@setminipage
\fi
\normalsize
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
\endgroup}
\renewcommand*\l@figure{\@dottedtocline{1}{0em}{5em}}%
\let\l@table\l@figure
%%egreg's code
\def\numberline#1{\hb@xt@\@tempdima{#1\if&\else.\fi\hfil}}
\makeatother
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\chapter{Chapter}
\section{Section}
\begin{table}[h]
\caption{Some table}
\centering abc
\end{table}
\begin{figure}[h]
\caption{A figure}
\centering xyz
\end{figure}
\subsection{Subsection}
\subsubsection{Subsubsection}
\end{document}
我想
ToC
1. Chapter
1.1 Section
1.1.1 Subsection
1.1.1.1 Subsubsection
LoT
Table 1.
LoF
Figure 1.
1.1 The Section
Content
1.1.1 The Subsection
Content
1.1.1.1 The Subsubsection
Content
答案1
(在更好地理解了 OP 的格式目标后,我从头重写了这个答案。
我无法提供不依赖外部 LaTeX 包的答案。但是,由于caption
和tocloft
包已经存在好几年了,调试得很好,并且与book
文档类配合得很好,所以我不会为使用这两个包而道歉。
我建议您 (a) 继续使用指令\usepackage[spanish,es-nosectiondot]{babel}
,(b) 使用 将文档正文中的caption
标签分隔符从:
(“冒号”) 更改为(句号) ,以及 (c) 使用包分别修改LoF 和 LoT 中和条目的外观。不过,您可以在 MWE 中放弃和之间的代码块。.
tocloft
figure
table
\makeatletter
\makeatother
\documentclass{book}
\usepackage[spanish,es-nosectiondot]{babel}
\addto\captionsspanish{%
\renewcommand{\tablename}{Tabla}
\renewcommand{\listtablename}{\'Indice de tablas} % do you need this?
}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
%% modify the separator between caption numbers and text
\usepackage{caption}
\captionsetup{labelsep=period,skip=0.333\baselineskip}
\usepackage[titles]{tocloft}
%% modify appearance of entries in LoF and LoT
\cftsetindents{figure}{0em}{5em} % how much space to set aside
\cftsetindents{table}{0em}{5em}
\renewcommand{\cftfigpresnum}{\figurename\space} % prefix material
\renewcommand{\cftfigaftersnum}{.} % postfix material
\renewcommand{\cfttabpresnum}{\tablename\space}
\renewcommand{\cfttabaftersnum}{.}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\chapter{Chapter}
\section{Section}
\begin{table}[h] \caption{Some table} \centering abc \end{table}
\begin{figure}[h] \caption{A figure} \centering xyz \end{figure}
\subsection{Subsection}
\subsubsection{Subsubsection}
\end{document}