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 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ドキュメント クラスで適切に動作することがわかっているため、これら 2 つのパッケージを採用することについて謝罪するつもりはありません。

(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}

ここに画像の説明を入力してください

関連情報