刪除目錄中節號後面的點[沒有任何包]

刪除目錄中節號後面的點[沒有任何包]

我正在使用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&#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 之間和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}

在此輸入影像描述

相關內容