我对 tex 不太在行,而且虽然我是一个熟练的 Linux 用户,但是 latex 对我来说一直是个问题。
我的情况。我正在写一篇论文。操作系统:Debian 8 Lyx:2.1.2 Jabref:2.1
今天,当我尝试将 Lyx 文件输出为 PDF 时,我收到了以下有关 inputenc 的错误消息
软件包 natbib 警告:第 12 页上的引用“ArpaciDusseau14”在输入 t 行 244 上未定义。
[12] [13])[14](./Memoire_Stage.bbl(./Memoire_Stage.brf)\tf@brf=\write4 \openout4 = `Memoire_Stage.brf'。
!包 inputenc 错误:在输入编码‘latin9’中使用键盘字符未定义(inputenc)。
请参阅 inputenc 包文档以了解解释。输入 H 可立即获得帮助。...
l.79 You need to provide a definition with \DeclareInputText or \DeclareInputMath before using this key.
!包 inputenc 错误:在输入编码‘latin9’中使用键盘字符未定义(inputenc)。
请参阅 inputenc 包文档以了解解释。输入 H 可立即获得帮助。...
l.79
最近的变化是:
我一直在使用 Zotero,并将我的一些参考文献导出到 bibtex 输出,然后将它们导入 jabref。
这不是我第一次这样做,以前一切都很好。
我最近还将我的论文分成了多文档格式(它太长了,我找不到解决方法!),但直到今天我的 pdf 输出仍然正常。
当我从 lyx 输出到 pdf 时,打开的第一个窗口中包含以下详细信息。
包 inputenc 错误:使用的键盘字符未定义 在使用此键之前,您需要使用 \DeclareInputText 或 \DeclareInputMath 提供定义。
但我不知道如何找到这些“奇怪”的字符。jabref DB 设置为 utf8 格式。我找到并删除了 .blg 和 .blf 文件(事实上,为了以防万一,我还删除了所有 lyx 临时文件),但没有变化。
我确实从我的个人 tiddlywiki 网络笔记本中执行了复制和粘贴,但这之前并没有引起我的问题。
我从我的 git repo 中提取了一个旧版本,它可以很好地编译为 pdf,但我使用的参考资料大大减少(我在文档中使用标记来标记我缺少的参考资料在哪里)
我不知道下一步该去哪里解决我的问题。
非常感谢所有的帮助。
大卫
答案1
确保您的参考书目和文档使用 UTF-8,然后声明
\usepackage[utf8]{inputenc}
而不是[latin9]
。
对于 UTF-8 书目,您可能需要 bibtex8 或 biblatex/biber,具体取决于您需要多少语言支持。(非英语标题等不是问题,但经典 bibtex 无法理解非 ASCII 字母,因此例如如果您使用对作者姓名进行排序的样式,如果姓名带有重音符号或其他非 ASCII 字符,则排序顺序可能会错误)。
要将您的 lyx 文档修改为不同的语言编码,请在菜单中执行以下操作:
文档 -> 设置 -> 选择“语言”选项。
您可以在此处修改拼写检查器的实际默认书写语言。您还可以修改语言编码。默认语言显然是 latin-9(请参阅此 wiki 文章latin-9/iso-8859-15。只需将其修改为“其他”选项并选择 utf8 即可解决您的问题。
注意:我不知道这将如何处理分割文档的使用(我猜它应该从主文档中提取 utf8 设置)。
另一种方法是将声明
\usepackage[utf8]{inputenc}
在序言中(也可作为设置窗口中的最后一个选项) - 尽管到目前为止我还没有测试过这个选项。