如何使用 babel 的西班牙语删除目录中章节编号后的点?

如何使用 babel 的西班牙语删除目录中章节编号后的点?

我正在使用book文档类和babel带有spanish选项的包,我有一个如下的目录:

  1. 章节名称
    1.1. 章节名称
    1.1.1. 小节名称
    1.1.1.1.子节名称

我如何才能删除 LoT 上的章节编号、表格编号和 LoF 上的图形编号后面的点?

PS:章节号前面应该有一个点。

这里是 MWE

\documentclass{book}
\usepackage[spanish,es-lcroman]{babel}

\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\makeatletter
\def\@seccntformat#1{\csname the#1\endcsname\quad}
\makeatother

\begin{document}

\tableofcontents

\listoftables

\listoffigures

\chapter{CHAPTER NAME}

\section{SECTION NAME}

\subsection{Subsection name}

\subsubsection{Subsubsection name}

\begin{table}
    My table
    \caption{Table}
\end{table}

\begin{figure}
    My figure
    \caption{Figure}
\end{figure}

\end{document}

请注意我正在使用以下代码:

\makeatletter
\def\@seccntformat#1{\csname the#1\endcsname\quad}
\makeatother

删除文档中章节编号后的点。

答案1

西班牙语模块babel负责此操作,可能遵循该语言权威机构的某些指令。还有一个附加选项可以禁用它:

\usepackage[spanish,es-lcroman,es-nosectiondot]{babel}

请参阅西班牙语选项文档中的第 2.3 节(texdoc spanish在 TeXdoc.net 上)。

没有必要采取行动\@seccntformat

为了保留章节号后的句点(虽然我不知道为什么),修补命令\@chapter

\usepackage{etoolbox}
\makeatletter
\patchcmd\@chapter{\numberline{\thechapter}}{\numberline{\thechapter.}}{}{}
\makeatother

相关内容