我正在写一篇论文,需要用两种语言(英语和西班牙语)撰写。
组织结构如下:
- 目录
- 序言和摘要以两种语言显示
- 论文主体:首先,所有章节都以英文呈现(第 1 部分),然后所有章节都以西班牙语呈现(第 2 部分)。第 1 部分和第 2 部分的内容相同,但经过翻译。因此,我决定在从第 1 部分过渡到第 2 部分时重置页码和章节编号。
我使用cleverer
和hyperlink
包(这是必须的)。
下面,您可以找到用于论文的模板的简化版本:
\documentclass[12pt, footinclude=true,headinclude=true, twoside=semi, headsepline=true, chapterprefix=false, appendixprefix=true, headings=big, numbers=enddot]{scrbook}
\usepackage[english, spanish]{babel}
\usepackage[utf8]{inputenc}
% MWE 21June16
% COMMENTS: Resetting chapter counter to 0 for each new part.
%=========================================
\usepackage{lipsum}
\usepackage{shorttoc}
\usepackage{etoc}
\usepackage{hyperref}
\usepackage[noabbrev,capitalise,nameinlink]{cleveref}
% Or
% \usepackage{chngcntr}
% \counterwithin{chapter}{part}
\begin{document}
%===========
\frontmatter
%===========
\selectlanguage{english}
\tableofcontents
\chapter{Preface/Prefacio}
.... some text ....
\chapter{Abstract/Resumen}
.... some text ....
%===========
\mainmatter
%===========
\part*{English version}
\chapter{English}\label{chapter1EN}
This is \Cref{chapter1EN}.
\chapter{English}\label{chapter2EN}
This is \Cref{chapter2EN}.
\chapter{English}\label{chapter3EN}
This is \Cref{chapter3EN}.
\chapter{English}\label{chapter4EN}
This is \Cref{chapter4EN}.
\selectlanguage{spanish}
\newpage
\setcounter{chapter}{0}
\pagenumbering{arabic}
\part*{Spanish version}
\chapter{Spanish}\label{chapter1ES}
This is \Cref{chapter1ES}.
\chapter{Spanish}\label{chapter2ES}
This is \Cref{chapter2ES}.
\chapter{Spanish}\label{chapter3ES}
This is \Cref{chapter3ES}.
\chapter{Spanish}\label{chapter4ES}
This is \Cref{chapter4ES}.
\end{document}
label=chapter1ES
问题是,当单击文本(在对应于的文本部分中\Cref{chapter1ES}
)和它引用的目录中对应于的链接时,所有引用也会“重置” label=chapter1EN
。
有没有什么方法可以重置页码和章节计数器而不影响标签及其引用?
答案1
问题在于您拥有具有相同编号的不同页面。
禁用hypertexnames
应该可以解决问题。
\documentclass[
12pt,
footinclude=true,
headinclude=true,
twoside=semi,
headsepline=true,
chapterprefix=false,
appendixprefix=true,
headings=big,
numbers=enddot
]{scrbook}
\usepackage[english, spanish]{babel}
\usepackage[T1]{fontenc} % <--- needed for Spanish
%\usepackage[utf8]{inputenc} % <--- no longer needed
\usepackage{lipsum}
\usepackage{shorttoc}
\usepackage{etoc}
\usepackage[hypertexnames=false]{hyperref}
\usepackage[noabbrev,capitalise,nameinlink]{cleveref}
\begin{document}
%===========
\frontmatter
%===========
\selectlanguage{english}
\tableofcontents
\chapter{Preface/Prefacio}
.... some text ....
\chapter{Abstract/Resumen}
.... some text ....
%===========
\mainmatter
%===========
\part*{English version}
\chapter{English}\label{chapter1EN}
This is \Cref{chapter1EN}.
\chapter{English}\label{chapter2EN}
This is \Cref{chapter2EN}.
\chapter{English}\label{chapter3EN}
This is \Cref{chapter3EN}.
\chapter{English}\label{chapter4EN}
This is \Cref{chapter4EN}.
\cleardoublepage
\selectlanguage{spanish}
\setcounter{chapter}{0}
\pagenumbering{arabic}
\part*{Spanish version}
\chapter{Spanish}\label{chapter1ES}
This is \Cref{chapter1ES}.
\chapter{Spanish}\label{chapter2ES}
This is \Cref{chapter2ES}.
\chapter{Spanish}\label{chapter3ES}
This is \Cref{chapter3ES}.
\chapter{Spanish}\label{chapter4ES}
This is \Cref{chapter4ES}.
\end{document}
看看开头关于包的评论。不过,我不确定是否同时使用shorttoc
和etoc
。