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