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