如何重复章节编号

如何重复章节编号

我正在写博士论文,必须用英语和西班牙语写引言。由于内容相同,我想重复第一章的编号:

  1. 介绍。
  2. 介绍。
  3. 下一章等等

如果我只是通过调用重置计数器,\setcounter{chapter}{0}我就会获得所需的编号,但 pdf 查看器左边距中出现的目录看起来很奇怪:

所有章节都嵌套在第一章中。另一方面,\tableofcontents页面中的链接行为不正确,即如果我单击与西班牙语简介相对应的链接,则会将我发送到英语(最后一个)章节。

我想我应该为西班牙语介绍创建一个特殊的章节,以便获得不干扰的重复数字,\tableofcontents或者关联新的计数器以\chapter区分两个版本。有什么帮助吗?

答案1

尝试使用bookmark包裹看看这是否能解决您的问题。bookmark以更现代(更少限制)的方式在文档中实现书签,并且只需要一次编译。hyperref需要至少两次编译(假设目录中发生了一些变化),因为它在编译期间使用辅助文件来组装书签。


如果你只使用hyperref,以下内容将更正超链接,并且最便宜的

  • 添加\renewcommand{\theHchapter}{S\arabic{chapter}} 您的西班牙语章节\chapter{Introducción};以及
  • \renewcommand{\theHchapter}{\arabic{chapter}} 西班牙分会

\theHchapter用作指向章节的超链接的锚点,并且取决于章节号。如果您重置章节号,则超链接引用将不明确,导致跳转到同一位置。上述方法通过添加到S西班牙语章节锚点,然后将其删除,暂时解决了该问题。

也许解决这个问题的更通用的方法是定义一个可以在其间切换的宏,这样您就可以根据需要插入类似编号的章节。以下 MWE 允许这样做:

\documentclass{report}
\usepackage[utf8]{inputenc}% http://ctan.org/pkg/inputenc
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\newcommand{\chaptype}{}
\newcommand{\chaptertype}[1]{\renewcommand{\chaptype}{#1}}
\renewcommand{\theHchapter}{\chaptype\arabic{chapter}}
\begin{document}
\tableofcontents

\chaptertype{Spanish}
\chapter{Introducción}

\setcounter{chapter}{0}
\chaptertype{}
\chapter{Introduction}

\chapter{Next Chapter}
\end{document}

\chaptertype{<stuff>}\chaptype是更新为 的用户级界面。然后将其用作中锚点<stuff>的前缀。您可以使用 切换回常规“前缀” 。hyperref\theHchapter\chaptertype{}


该解决方案背后的动机源自hyperref文档(具体部分3.2 目的地名称选项):

目标名称的唯一性非常重要,因为两个目标不能共享相同的名称。计数器值\the<counter>对于计数器来说并不总是唯一的。例如,表格和图形可以在章节内进行编号,而无需在编号中包含章节号。因此,hyperref引入了\theH<counter>允许唯一的计数器值而不会弄乱计数器编号的外观。例如,第三章中第二个表格的编号可能打印为2,即的结果\thetable。但目标名称table.2.4是唯一的,因为在本例中它使用了\theHtable给出的2.4

答案2

你可以利用这个事实,你将要写你的简介用西班牙语,所以在环境中。

\documentclass{report}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[spanish,english]{babel}

\usepackage{hyperref,bookmark}

\begin{document}
\tableofcontents

\begin{otherlanguage}{spanish}
\renewcommand{\theHchapter}{SpanishIntro} % keep bookmark quiet
\chapter{Introducción}

Introducción in Español.

\end{otherlanguage}

\addtocounter{chapter}{-1}

\chapter{Introduction}

The introduction in English

\chapter{Next Chapter}
\end{document}

如果您仍然想要“Chapter 1”而不是“Capítulo 1”,那么请使用otherlanguage*代替otherlanguage

相关内容