删除 ToC 中章节编号后的点 [没有任何包]

删除 ToC 中章节编号后的点 [没有任何包]

我正在使用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 1Table 1)而不是Figure 1.Table 1.),因此,按照帖子的内容,我使用代码\def\numberline#1{\hb@xt@\@tempdima{#1\if&#1&\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&#1&\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 包的答案。但是,由于captiontocloft包已经存在好几年了,调试得很好,并且与book文档类配合得很好,所以我不会为使用这两个包而道歉。

我建议您 (a) 继续使用指令\usepackage[spanish,es-nosectiondot]{babel},(b) 使用 将文档正文中的caption标签分隔符从:(“冒号”) 更改为(句号) ,以及 (c) 使用包分别修改LoF 和 LoT 中和条目的外观。不过,您可以在 MWE 中放弃和之间的代码块。.tocloftfiguretable\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}

答案2

这和你想要的不一样吗?

\documentclass{book}
\usepackage[spanish]{babel}

\usepackage{titlesec}
\titlelabel{\thetitle\quad}

\begin{document}

\chapter{Test}
\section{Test}
\subsection{Test}

\end{document}

在此处输入图片描述

相关内容