重置章节计数器时的 Cleverf 和超链接

重置章节计数器时的 Cleverf 和超链接

我正在写一篇论文,需要用两种语言(英语和西班牙语)撰写。

组织结构如下:

  1. 目录
  2. 序言和摘要以两种语言显示
  3. 论文主体:首先,所有章节都以英文呈现(第 1 部分),然后所有章节都以西班牙语呈现(第 2 部分)。第 1 部分和第 2 部分的内容相同,但经过翻译。因此,我决定在从第 1 部分过渡到第 2 部分时重置页码和章节编号。

我使用clevererhyperlink包(这是必须的)。

下面,您可以找到用于论文的模板的简化版本:

\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}

看看开头关于包的评论。不过,我不确定是否同时使用shorttocetoc

相关内容