我正在写博士论文,必须用英语和西班牙语写引言。由于内容相同,我想重复第一章的编号:
- 介绍。
- 介绍。
- 下一章等等
如果我只是通过调用重置计数器,\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
。