我有一个使用 varioref 的文档。我使用 babel 选择了正确的语言,无论我选择一种或两种语言,它始终保持英语,而不会变成德语。
我已经检查过了,但这似乎不是同一个问题: 当我使用两种语言时,vref 在 lyx 中使用了错误的语言
这是我的 MnWE:
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,german]{babel}
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{graphicx}
\begin{document}
\section{Geometrische Grundlagen}
\label{Geometrische_Grundlagen}
Die Grafik in Abbildung \ref{GeGrA} \vpageref{GeGrA} zeigt die Geometrie
\begin{figure}
\fbox{GRAPHIC}
\caption{Verschiedene geometrische Größen}
\label{GeGrA}
\end{figure}
\end{document}
禁用 hyperref 无法解决问题。将 varioref 放在 hyperref 之后也无法解决问题。
我在 Regolith (Ubuntu) 上使用 TeX-live 和 Texmaker。系统语言是英语,但运行 texmaker 的 shell 已切换为德语(使用 Gnucash 测试,肯定是德语)。
答案1
varioref 无法检测 babel 语言。您需要将选项传递给它,可以通过包或 documentclass 选项传递(我认为没有必要同时使用 ngerman 和 german):
\documentclass[10pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{varioref}
\usepackage{hyperref}
\usepackage{graphicx}
\begin{document}
\section{Geometrische Grundlagen}
\label{Geometrische_Grundlagen}
Die Grafik in Abbildung \ref{GeGrA} \vpageref{GeGrA} zeigt die Geometrie
\begin{figure}
\fbox{GRAPHIC}
\caption{Verschiedene geometrische Größen}
\label{GeGrA}
\end{figure}
\end{document}