latex和bibtex文件的不同编码
LaTeX是否处理.bib文件与.tex文件编码不同的情况?例如,.tex在ISO-8859-2中,而.bib在UTF-8中。LaTeX可以动态转换编码吗?或者唯一的方法就是手动?首先,根据BibTeX不能使用UTF-8: BibTeX不支持以UTF-8(即Unicode)编码的文件。,这是目前大多数操作系统上的默认文件编码。原因是当前的BibTeX(v.0.99c)是在1988年发布的,因此早于unicode的出现。除非早就宣布的BibTeX v。1.0或许多计划的潜在成功应用程序中的一个已准备就绪,bib文件必须使用拉丁1(ISO-8859-1)或其他8位编码(这不会影响LaTeX编码,它仍然可以是utf8) 通常,BibTeX文件中的任何内容都会被逐字复制到LaTeX源代码中(可能会有一些格式和大小写更改,&c),例如书名、作者和c 因此,您的BibTeX文件编码必须与LaTeX文件使用的编码匹配,否则事情会变得有趣。除非您的文档包含正确的软件包,否则您也不能在BibTeX中使用babel提供的命令(例如n?german提供的用于latex和bibtex文件的不同编码,latex,bibtex,Latex,Bibtex,LaTeX是否处理.bib文件与.tex文件编码不同的情况?例如,.tex在ISO-8859-2中,而.bib在UTF-8中。LaTeX可以动态转换编码吗?或者唯一的方法就是手动?首先,根据BibTeX不能使用UTF-8: BibTeX不支持以UTF-8(即Unicode)编码的文件。,这是目前大多数操作系统上的默认文件编码。原因是当前的BibTeX(v.0.99c)是在1988年发布的,因此早于unicode的出现。除非早就宣布的BibTeX v。1.0或许多计划的潜在成功应用程序中的一个已准
ä
的)
规范的方法是通过始终使用适当的命令指定特殊字符,使BibTeX文件不受任何编码或包问题的影响
这基本上意味着,如果你想绝对确保它能工作,就必须使用{\“a}
来代替编写ä
。似乎是相当标准的做法
Oren Patashnik的BibTeX手册也详细说明了这一点:
BibTeX现在可以处理重音
人物。例如,如果您有
输入两个字段
author = "Kurt G{\"o}del",
year = 1931,
如果你用的是阿尔法
参考书目风格,然后BibTeX将
为此构建标签[Göd31]
入口,这是你想要的。到
要使此功能正常工作,您必须
将整个重音字符放入
支撑;在这种情况下,{\“o}
或
{\“{o}}
就可以了。此外,这些
支架本身不得封闭
在大括号中(除了
可能会划界整个字段或
完整条目);而且一定有一个
反斜杠作为第一个字符
在支架里面。因此两者都不是
为这个例子工作。此功能
处理所有重音字符
除了那些没有反斜杠的外国人
表3.1和3.2中的符号
胶乳书。此功能的行为
类似地,对于“口音”,您可能会
定义我们稍后将看到一个示例。
为了计算信件的数量
在标签中,BibTeX考虑了一切
包含在支架内,作为
一个字母
Bibtex对任何非标准字符编码都有随机支持——本质上,有时它可以工作,但大多数情况下不工作,而且官方不支持()
就个人而言,在.bib中,我坚持使用基本的ASCII和LaTeX魔术,比如“o.For.tex,如果我不使用英语编写,我会使用\usepack[utf8]{inputenc}将.tex保存在UTF-8中.即使在最新版本中,BibTeX在非ASCII字符方面也存在巨大问题。如果您更喜欢现代系统,我想推荐和的组合。两者仍处于测试阶段,但即使在生产环境中也能很好地工作。通过这种组合,与LaTeX书目相关的大多数问题都将消失。作为一个侧面,n注意,还包含关于传统BibTeX编码问题的章节(§2.4.3)。您可以动态更改输入编码:
\inputencoding{latin2}
\bibliography{mybib}
\inputencoding{utf8}
\inpunecoding
命令由inpunec
软件包提供。它看起来不像Win 1251是inpunec
的一部分。而Win 1251是MikTex编辑器(TeXworks)中的默认值。我如何声明一切都在Win 1251中编码。由于这些编码问题,我丢失了俄语文本。