Latex的bib文件中添加中文文献报错

JY1111
  • 23

我在修改一个英文的latex模板,然后里面的参考文献都是英文的,在bib文件中添加中文文献之后,就会出现乱码,里面没有关于这个参考文献的直接的tex文件,是在XeLatex下编译的,有bib文件和bbl文件,我在网上查找了一下方法后,显示之后,中文的乱码不见了,只有数字的日期还在,但是中文部分都是空白,因为是修改,很多地方都不是特别的理解,有大神能帮忙指导一下吗?
这是原文中的出现参考文献的部分(原来是Reference,已改成中文参考文献)
\renewcommand\bibname{参考文献}
\providecommand*{\phantomsection}{}
\phantomsection

\addcontentsline{toc}{chapter}{参考文献}
\bibliographystyle{plain}

\bibliography{SANDExample}

在bib文件中加进了中文之后

@Article{Rolf,

author=        {Rolf Riesen},
title=        {How to be Conformant},
journal=        {Psychology Today and Tomorrow},
year=        {2002},
volume=        {784},
number=        {3},
pages=        {121--130},

}(这是之前里面的,显示是正常的)
@Book{Pindyck-Rubinfeld.cn_2000,
author = {平狄克 and 鲁宾费尔德},
title = {微观经济学},
publisher = {中国人民大学出版社},
year = 2000,
address = {北京},
edition = 4,
lang = {chinese}
}(这是加进去的,显示有问题)

最后执行之后显示的是乱码,在网上查了一些东西,加进这个之后
\usepackage[sort&compress,longnamesfirst]{natbib}
%\bibpunct[, ]{(}{)}{;}{a}{}{,}
\addtolength{\bibsep}{-0.5 em} % 缩小参考文献间的垂直间距
\setlength{\bibhang}{2em}

%文献列表中的姓氏字体设置,需要与适当的 bst 文件配合使用
\newcommand{\bibnamefont}[1]{{\bf\hei #1}}
%文献列表中的名字字体设置,需要与适当的 bst 文件配合使用
\newcommand{\bibfnamefont}[1]{{\bf\hei #1}}

\AtBeginDocument{%

    \if@filesw
    \immediate\write\@mainaux{%
            \string\begin{CTEX}{GBK}{song}}%
            \immediate\write\@mainaux{%
                    \string\makeatletter}%
            \fi}
    \AtEndDocument{%
            \if@filesw
            \immediate\write\@mainaux{%
                    \string\end{CTEX}}%
    \fi}

% Enable Chinese in preamble (code from beamer)
\makeatletter
\def\beamer@activectex{

    % Activate all >128 characters.
    \count@=127
    \@whilenum\count@<255 \do{%
            \advance\count@ by 1
            \lccode`\~=\count@
            \catcode\count@=\active
            \lowercase{\def~{\kern1ex}}
    }

}
\beamer@activectex
\makeatother

显示的中文乱码就消失了,但是中文地方是空白,应该怎么办?

回复
阅读 11k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏