os: win10。 TeX: LaTeX + Emacs + auctex。 中文bibtex索引来源:百度学术。 问题描述: 包含纯中文文献的a.bib(utf8编码)文件在主tex(ctexart文件类)文件中使用时,出现如下报错 第一次引用中文文献,不知道如何解决。如有知情者告知,不胜感激!!
看着不像是参考文献的问题
是的,百度给的bibtex索引其实有问题,但我都给手动改过来了
你还要给我们你的.tex文件内容(删掉你的正文,保留个最精简的引用例子,然后所有的prembles都要有),应该是你prembles部分有问题。只给error信息没法查问题。
我觉得是你在CTeX中引用文献使用错误,和中不中文没关系。注意CTeX用的是XeLaTeX或LuaLaTeX,你如果还是按旧的pdflatex的方式加载文献肯定是不行的。
pdflatex其实也是可以用的,但写中文用起来非常复杂。
你试试下面这个CTeX例子,我是可以正常编译的,注意用bibtex和XeLaTeX。注意第二行是字体设置(我们系统不同,可能字体你没有,所以先注释掉了)另外注意,我们设好用utf8,所以.bib
文档也应该是utf8编码,不然基些系统会报错或pdf出乱码。
正文:
\documentclass[utf8,a4paper,11pt]{ctexart}
%\setCJKmainfont[BoldFont={STHeiti}]{SimSun}
\title{CTeX简易文档}
\author{无名氏}
\date{\today}
\begin{document}
\maketitle
\section{一级标题1}
这是一行中文字。
\section{一级标题2}
这里引入一个中文文献\cite{song1985}。这里是另一个英文文献\cite{rudin1964}。
\bibliographystyle{plain}
\bibliography{library}
\end{document}
library.bib
里的内容:
@book{rudin1964,
title={Principles of mathematical analysis},
author={Rudin, Walter and others},
volume={3},
year={1964},
publisher={McGraw-hill New York}
}
@book{song1985,
title={人口控制论},
author={宋健 and 于景元},
year={1985},
publisher={科学出版社}
}
编译出的pdf:
UTF8选项大写的报错是:
好吧,我这边大小写都可以,可能是Miktex和TeXLive的差别?或者OS?不管它了,能编译出来就好。
嗯嗯,我用的是TexLive + Win10
我用org-mode 转LaTeX很方便。win10+org-mode+miktex+org-ref+helm-bibtex
大神,我大概知道怎么出错了,就是无论中英文文献,引用关键字必须是英文……我把引用关键字换成英文与数字就ok了
这个应该不是问题。我有中文的bibtexkey是可以的。
那我是不是少东西了
可能是你的tex文档的encoding不是utf8,导致解析过程中成为了乱码无法匹配
我用的是utf8,我还专门检查了下呢
你用其他软件编译一下呢?texlive应该自动texworks。
多谢,我试试
大神 我编译你给的那个测试文件时 报错Font unisong82 at 657 not found 怎么办哇
字体没有,不是这个配置的问题,是你缺少了字体,下一个unisong82就好了,或者将这个改成你电脑上面存在的字体。