![使用 polyglossia 将 \addappheadtotoc 中的“附录”翻译成其他语言](https://linux22.com/image/298346/%E4%BD%BF%E7%94%A8%20polyglossia%20%E5%B0%86%20%5Caddappheadtotoc%20%E4%B8%AD%E7%9A%84%E2%80%9C%E9%99%84%E5%BD%95%E2%80%9D%E7%BF%BB%E8%AF%91%E6%88%90%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80.png)
我该如何将“附录”翻译成意大利语?
\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”转变为附录第一页的链接。