我正在使用 LyX 编写双语文档,为此我在“设置 -> 语言”下使用了以下自定义包定义:
\usepackage[english,ngerman]{babel}
当我添加第二种语言“英语”时,导致“ngerman”成为默认语言并且偶尔使用英语, \vref 引用使用“on page”而不是德语版本“auf Seite”。
有人知道如何修复这个问题吗?我读到 varioref 需要使用文档类来设置语言,但我无法在 LyX 中找到这样做的方法。
谢谢你!
编辑:
这是一个不起作用的行为的简单例子:
\lyxformat 474
\begin_document
\begin_header
\language ngerman
\language_package \usepackage[english,ngerman]{babel}
\end_header
\begin_body
\begin_layout Section
A
\end_layout
\begin_layout Standard
Bitte vergleichen mit Kapitel
\begin_inset CommandInset ref
LatexCommand vref
reference "sec:B"
\end_inset
.
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
clearpage
\end_layout
\end_inset
\end_layout
\begin_layout Section
\begin_inset CommandInset label
LatexCommand label
name "sec:B"
\end_inset
B
\end_layout
\end_body
\end_document
这使得
请与下页的第 2 章进行比较。
但是当你将第 5 行改为
\language_package default
它正确地呈现为
请与下一页上的第 2 章进行比较。
答案1
这是由于您自定义加载了 babel。如果您给出自定义命令,LyX 就不知道需要做什么。在这种情况下,它不知道 babel 已加载,因此不知道需要将语言设置为 ngerman(尽管您将其放在文档设置中,但就 LyX 而言,这无关紧要)。使用自定义命令就像使用 ERT。它很有用,但一旦您使用 ERT,您就得靠自己了。
如果您需要使用自定义 babel 选项,您仍然可以通过在文档 > 设置 > 文档类 > 自定义(在类选项下)中添加“ngerman”(不带引号)来获得您想要的行为。