使用 polyglossia 将 \addappheadtotoc 中的“附录”翻译成其他语言

使用 polyglossia 将 \addappheadtotoc 中的“附录”翻译成其他语言

我该如何将“附录”翻译成意大利语?

\documentclass[oneside]{book}
\usepackage{appendix}
\usepackage{polyglossia}
\setmainlanguage{italian}

\begin{document}
\tableofcontents
\chapter{My first chapter}
dummy text
\chapter{My second chapter}
dummy text

\appendix
\addappheadtotoc
\chapter{my appendix}
\end{document}

另外,为什么“附录”的页码是 3 而不是 4?是否可以从目录中删除显示的“附录”的页码?

答案1

appendix包没有定义任何本地化字符串;必须添加

\renewcommand{\appendixtocname}{<Appendices>}

相应的语言设置;对于意大利语,应该是

\addto\captionsitalian{%
   \renewcommand{\appendixtocname}{Appendici}%
   \renewcommand{\appendixpagename}{Appendici}%
}

babel(和都一样polyglossia)。但是,这并不能解决页码的问题。

您实际上可以从appendix包装中取出此物品。

做就是了

\makeatletter
\g@addto@macro\appendix{%
  \cleardoublepage
  \addtocontents{toc}{\protect\contentsline{chapter}{Appendici}{}{}}%
}
\makeatother

在你的序言中。

完整示例

\documentclass[oneside]{book}
\usepackage{polyglossia}
\setmainlanguage{italian}

%\usepackage{hyperref} % use it or not as you please

\makeatletter
\g@addto@macro\appendix{%
  \cleardoublepage
  \addtocontents{toc}{\protect\contentsline{chapter}{Appendici}{}{}}%
}
\makeatother

\begin{document}           
\tableofcontents
\chapter{My first chapter}
dummy text
\chapter{My second chapter}
dummy text

\appendix
\chapter{my appendix}
\end{document}

在此处输入图片描述

hyperref使用时可能更好的版本:

\documentclass[oneside]{book}
\usepackage{polyglossia}
\setmainlanguage{italian}

\usepackage{hyperref}                              

\makeatletter
\g@addto@macro\appendix{%
  \cleardoublepage
  \hypertarget{appendixstart}{}%
  \addtocontents{toc}{
    \protect\contentsline{chapter}{\protect\hyperlink{appendixstart}{Appendici}}{}{}%
  }%
}
\makeatother

\begin{document}
\tableofcontents
\chapter{My first chapter}
dummy text
\chapter{My second chapter}
dummy text

\appendix
\chapter{my appendix}
\end{document}

这也会将目录中的“Appendici”转变为附录第一页的链接。

相关内容