有关的:
梅威瑟:
\documentclass{memoir}
\usepackage{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\setotherlanguage[variant=british]{english}
\begin{document}
\begin{figure}
\caption{Demo}
\label{fig:demo}
\end{figure}
\begin{english}
\autoref{fig:demo}
\end{english}
\begin{spanish}
\autoref{fig:demo}
\end{spanish}
\end{document}
我尝试了babel
宏,但是它不起作用;添加spanish
到hyperref
的加载选项只会改变问题语言。
我怎样才能解决这个问题?
答案1
您必须\figureautorefname
为西班牙语添加的重新定义,同时也要对其进行更改\blockextras@english
。
\documentclass{memoir}
\usepackage{polyglossia}
\usepackage{hyperref}
\setdefaultlanguage{spanish}
\setotherlanguage[variant=british]{english}
\appto\captionsspanish{\renewcommand\figureautorefname{Figura}}
\makeatletter
\appto\blockextras@english{\renewcommand\figureautorefname{Figure}}
\makeatother
\begin{document}
\begin{figure}
\caption{Demo}
\label{fig:demo}
\end{figure}
\begin{english}
\autoref{fig:demo}
\end{english}
\begin{spanish}
\autoref{fig:demo}
\end{spanish}
\end{document}
另一方面,cleveref
开箱即可工作。
\documentclass{memoir}
\usepackage{polyglossia}
\usepackage{hyperref}
\usepackage[spanish]{cleveref}
\setdefaultlanguage{spanish}
\setotherlanguage[variant=british]{english}
\begin{document}
\begin{figure}
\caption{Demo}
\label{fig:demo}
\end{figure}
\begin{english}
\Cref{fig:demo}
\end{english}
\begin{spanish}
\Cref{fig:demo}
\end{spanish}
\end{document}