2

I write a paper in Chinese and I use \cite{eaton2002technology} to reference a paper. I want to change the "and" in "Eaton and Kortum (2002)" into "和".

I also cite a Chinese paper and want to change the "and" in the references list to "、".

The desired result is: "Eaton 和 Kortum (2002)"

mini example:

\documentclass[12pt,a4paper]{article}
\usepackage[UTF8]{ctex}
\usepackage[round]{natbib}

\begin{document}

我的中文文章参考了 \cite{eaton2002technology}

我的中文文章参考了 \cite{fanziyin2010}

\medskip
\bibliographystyle{plainnat}
\bibliography{citation}

\end{document}

Bibliography file (citation.bib)

@article{eaton2002technology,
Author = {Eaton, Jonathan and Kortum, Samuel},
Journal = {Econometrica},
Number = {5},
Pages = {1741--1779},
Publisher = {Wiley Online Library},
Title = {Technology, geography, and trade},
Volume = {70},
Year = {2002}}


@article{fanziyin2010,
Author = {范子英 and 张军},
Date-Added = {2016-11-05 15:26:38 +0000},
Date-Modified = {2016-11-06 06:10:56 +0000},
Journal = {经济研究},
Number = {3},
Pages = {53--64},
Title = {财政分权, 转移支付与国内市场整合},
Volume = {45},
Year = {2010}}

IDE:Texpad 1.731

Engine: Xelatex, BibTex

Compiled output of the mini example:

enter image description here

Desired output:

enter image description here

16
  • No one will be able to tell you how to do this until you post minimal example (or see here). We need to know what package (if any) has defined \cite and what (I'm even guessing here) .bst file is responsible for the citations and references.
    – jon
    Commented Oct 30, 2016 at 2:16
  • Do you want to submit to a journal? If not, biblatex can handle your issue much better.
    – Johannes_B
    Commented Oct 30, 2016 at 7:32
  • @Johannes_B - Is the solution provided in my answer no good? :-) It's certainly not all that difficult...
    – Mico
    Commented Oct 30, 2016 at 7:44
  • @Mico Yeah, sure it is good. And you said to rename the file. That is good.
    – Johannes_B
    Commented Oct 30, 2016 at 7:53
  • @Johannes_B - I just found this 5-year-old answer, which also deals with natbib and plainnat. I suppose my new answer isn't all that different from the earlier one, apart from the form of the conjunction (& vs. )...
    – Mico
    Commented Oct 30, 2016 at 9:03

1 Answer 1

5

Since you use the natbib citation management package and the plainnat bibliography style, I suggest you proceed as follows:

  • Find the file plainnat.bst in your TeX distribution. Make a copy of this file and call the copy, say, plainnat_cn.bst. (You're free to choose a different name, of course.)

  • Open the file plainnat_cn.bst in an editor; the editor you use for your tex files will do fine.

  • Locate the function format.lab.names. (It starts on line 1101 in my copy of this file.) In case you're curious: This function serves to format the citation call-outs -- "labels" in bibliography jargon.

  • In this function, locate the line

                { " and " * s #2 "{vv~}{ll}" format.name$ * }
    

    Change it to

                { " 和 " * s #2 "{vv~}{ll}" format.name$ * }
    
  • Save the file plainnat_cn.bst, either in the directory where your main tex file is located or in a directory that's searched by BibTeX. If you choose the latter method, be sure to refresh the filename database of your TeX distribution.

  • In your main tex file, change \bibliographystyle{plainnat} to \bibliographystyle{plainnat_cn} and rerun LaTeX, BibTeX, and LaTeX twice more to fully update all links.

Happy BibTeXing!

enter image description here

% !TEX TS-program = xelatex

\RequirePackage{filecontents}
\begin{filecontents}{citation.bib}
@article{eaton2002technology,
Author = {Eaton, Jonathan and Kortum, Samuel},
Journal = {Econometrica},
Number = {5},
Pages = {1741--1779},
Publisher = {Wiley Online Library},
Title = {Technology, geography, and trade},
Volume = {70},
Year = {2002}}
\end{filecontents}

\documentclass[12pt,a4paper]{article}
\usepackage[UTF8]{ctex}
\usepackage[round]{natbib}
\bibliographystyle{plainnat_cn} 

\begin{document}
我的中文文章参考了 \cite{eaton2002technology}
\bibliography{citation}
\end{document}

Not the answer you're looking for? Browse other questions tagged .