一、LaTeX参考文献引用显示?问号解决办法
转自:https://blog.csdn.net/qq_39662852/article/details/88878870
在使用Latex之前,我们一般会借用已有的论文模板,在模板基础上加入我们自己的文章内容,随后编译成PDF文件,其基本流程就是:Latex->Bibtex->Latext->Latex。
1、第一步点击Latex编译,可以获得*.aux文件、.dvi文件、.log文件以及*.gz文件;
2、第二步点击Bibtex编译,可以获得*.blg(性能监视器文件)和*.bbl文件;
3、第三步再次点击Latex编译,获得新的*.aux文件、.dvi文件、.log文件以及*.gz文件;
4、第四步再次点击Latex编译。
各种百度goggle搜出来的都是这玩意。一点鬼用都没有!!!讲下作为菜鸡的我修复经历。敲黑板划重点!!!
不管你用的LaTeX是CTeX还是MikTeX,只要参考文献不生成出现问号,看这里看这里就可以解决。
一般我们用LaTeX写论文都是拿别人的模板直接改的,红线框住的3个文件是必须的依赖文件。
1 .sty和.cls都是一些你这个论文样式的配置参数文件。
2 .bst文件才是参考文献必须依赖的文件!!
它长这个样子,可以自己去网上下载,也可以自己设计生成,反正我不会设计。自己设计去这里下包,按步骤生成
怎么生成,可以看下这个人写的博客:地址
反正自己去找一个.bst文件,下次把它放github上面,去下载吧。
- 修复过程
然后,打开你的主文件,我这里document.tex,
第一步,点击XeLatex编译,没毛病进行下一步。
第二步,点击BibTeX编译,如果可以,再进行两次XeLatex编译后你的参考文献就会出来,如果BibTeX这一步不能通过,那你的参考文献一定不显示,且是个?问号
怎么办呢,点击BibTeX编译之后看输出窗口那里的错误,一定是你参考文献有问题。然后有人就会想,参考文献是直接导出的BibTex格式,为啥还会这样,是的,真的会错。
点击显示输出面板,你就知道编译BibTeX的时候出了几个错,哪里出了错。比如提示你这样的错误:
老说你少个$符号,看着提示对应去找哪一行参考文献出了问题。
比如你导出的参考文献里有特殊字符 下划线、dollar符号之类的,但是它没用 "\"进行转译,那就会导致整个参考文献都没法显示。其实细想一下可以知道,这些特殊符号在LaTeX里面是有特殊含义的,而你现在要把它当做正常的字符在正文中显示出来,肯定是要转译的,一般导出来的Bibtex格式的参考文献导出来后都不会对特殊字符进行转译,所以还得自己来手动去加。
你一个一个把参考文献里的东西调好之后,参考文献就肯定没问题了可以显示。
其实正常模板都会自带这些环境都是没什么问题的,别人能用你不能用,不就是自己的问题吗?如果出现不能解决的错误还是从本身找下问题,正常情况模板的环境都不会有问题。
再附一个链接,里面的各种模板,可以去里面找.bst文件。北邮电博士论文模板
二、LaTex中的参考文献
转自:http://www.eefocus.com/sunshine/blog/09-08/175253_b0ef9.html
http://blog.sina.com.cn/s/blog_607233f501013gc5.html
原题: 《LaTeX 中的参考文献》
LaTeX 的对参考文献的处理实在是非常的方便,我用过几次,有些体会,写出来供大家
参考。当然,自己的功力还不够深,有些地方问题一解决就罢手了,没有细究。
LaTeX 对参考文献的处理有这么一些优点:
1. 可以维护一个 bib 文件,在你的整个研究生涯可以只维护这样一个文件,就象一个数
据库,每个参考文献是一个记录,由一个唯一的 ID (例如下面的 MartinDSP00)描述。
比如我的 myreference.bib 文件里一条典型的文献是这样的:
@article{MartinDSP00,
author = "A. Martin and M. Przybocki",
title = "The {NIST} 1999 speaker recognition evaluation --- an overview",
journal = "Digital Signal Processing",
volume = "10",
pages = "1--18",
year = "2000",}
其中 {NIST} 中的大括号不会被显示,它的作用是保证将来的生成的参考文献中 NIST
四个字保持原样,不会被小写。
2. 需要引用文献的时候,在正文里加入:
\bibliographystyle{ieeetr}
\bibliography{myreference}
就可以用 \cite{} 来引用文献库中的论文了,如 \cite{MartinDSP00}。上面第一行是
控制文献显示格式的,这个后面再讲。此时,myreference.bib 文件在正文 tex 文件的同
一目录下,以保证 LaTeX 可以找到该 bib 文件。
3. 编译正文之后,生成 aux 文件,然后用 bibtex 在当前目录生成 bbl 文件,再编译正
文两次,完整的 dvi 就生成了。这样,LaTeX 保证了所有用 \cite 引用到的文献都已被
列出,并且自动编号。同时,如果没有用 \nocite 命令,LaTeX 还保证所有列出的参考文
献都在正文中得到了引用。
4. 关于 bib 文件
前面提到 bib 文件的维护问题。我一般不对里面的文献排序,如果文献比较多,需要
查找的话,可以通过查询关键字来实现。bib 文件把 @ 所定义的 entry 之外的所有东西
看作是注释。比如在上面 @article 的例子里,如果我在大括号之外写些东西的话,bibt
ex 是不会关心的,就当它不存在。所以我就把文献的关键字写在这里,将来通过搜索关键
字来查找某些文献。其实也可以搞一个临时的 LaTeX 文件,使用 \nocite{*} 命令,然后
编译成 dvi,这样就得到了一个 bib 文件中所有参考文献的列表,当然是可以按照作者名
字排序的。
另外,很多 journal(学术期刊)或者 booktitle(国际会议)都是重复的,为了规范
化,可以定义缩写,如
@string(ICASSP = "Proc. of the International Conference on Acoustics, Speech,
and Signal Processing (ICASSP)")
然后
@conference{QL.ICA98,
author = "Qi Li and Biing-Hwang Juang",
title = "Speaker Verification Using Verbal Information Verification for A
utomatic Enrollment",
booktitle = ICASSP,
year = "1998",}
这样在执行 bibtex 之后,ICASSP 会被替换成它的全称。
5. bib 中的中文文献
中文文献和英文的格式不同,并且使用全角的标点符号,有一点难办。我的解决办法是
这样的:
@misc{Xie.1995,
note = "谢锦辉,《隐 {Markov} 模型及其在语音处理中的应用》,华中理工大学出
版社,1995年4月",
key = "Xie",}
唯一的缺陷是参考文献中最后是以英文的 "." 而不是 "。" 结束的。还好我的中文文
献不多,无伤大雅,否则就手工修改一下 bbl 文件吧。
6. 关于参考文献的显示格式、排序,及其他
前面提到参考文献的排序问题,以及引用序号是 LaTeX 提供的 ID 还是数字的问题。
其实不止这些,参考文献的显示格式也是可以定制的。参考文献以正文中引用顺序排序,
还是以文献第一作者的 last name 排序,是通过一些 bst 文件来控制的。而使用哪种 b
st 格式,可通过 bibliographystyle 命令控制。LaTeX 默认提供了这么几种格式,如:
plain、alpha、unsrt等。具体意义见相关文档,这些 bst 在 texmf\bibtex\bst\base 可
被找到。
bst 控制的格式非常细致,除了上面讲过的排序方式等,还有:作者名字是否用缩写,
作者名字放在文献的起始还是结束,文章 title 要不要大小写(即 "Speaker Verificat
ion Using ..." 还是 "Speaker verification using "),title 用什么区分(用不用引
号括起来,用不用斜体等),刊物名字的格式(要不要全部大写,要不要粗体,要不要斜
体,要不要括起来),等等等等。打开 bst 文件看一下就知道,绝对是想要什么形式,就
可以得到什么形式。最关键的是,在文章定稿之后,完全可以用几个命令重新定义参考文
献的格式!
给个例子:采用 IEEE 给出的 bst 格式(即 ieeetr.bst),声明:
\bibliographystyle{ieeetr}
就可以使用了。最终格式是这样的(按正文引用顺序排序):
[4] D. A. Reynolds, "Comparison of background normalization
methods for text-independent speaker verication," in
EUROSPEECH, 1997.
7. 如何定制参考文献的显示格式
其实 bst 文件有很多,总能找到自己需要的。如果这些还不能满足,可以通过生成自
己的 bst 文件来定制。这有两个方法,第一是手写(反正我是写不出来),第二是通过工
具。custom-bib 是一个定制 bst 文件的包,解压缩后用 LaTeX 编译其中的主 tex 文件
,便会进行交互式的 bst 定制过程,具体过程我就不讲了。把生成的自定义的 bst 放到
LaTeX 相应目录下,刷新文件名数据库就可以使用了。
二、其他出处材料
转自:https://blog.csdn.net/Huihui_Lv/article/details/88664173
由于部分文章的参考文献需要在正文引用时需要(作者,年份),故作如下处理(一)
(1)\usepackage{natbib}
(2)\bibliographystyle{model5-names}
(3)\biboptions{authoryear} (若无这一句,默认显示参考文献编号,如【1】;加上这句后可变成引用作者加年份)
也可直接通过这种方处理(二)
(4)\usepackage[authoryear]{natbib}
(5)\bibliographystyle{plainnat}
具体引用过程如下
( \citeauthor{1}, \citeyear{1} ) (自己添加()括号,花括号{}内为文献的标签)
最后一步是通用的
\biblography{mybibfile} (mybibfile为自己在WinEdit下新建的bib文件,内部可添加参考文献,便于文献集中管理,需编译一下)
但是参考文献好像不是按照作者姓名首字母排序的,这个暂时还未解决,希望会的小伙伴支支招
三、其他材料
LaTeX 标准选项及其样式共有以下8种:
plain,按字母的顺序排列,比较次序为作者、年度和标题.
unsrt,样式同plain,只是按照引用的先后排序.
alpha,用作者名首字母+年份后两位作标号,以字母顺序排序.
abbrv,类似plain,将月份全拼改为缩写,更显紧凑.
ieeetr,国际电气电子工程师协会期刊样式.
acm,美国计算机学会期刊样式.
siam,美国工业和应用数学学会期刊样式.
apalike,美国心理学学会期刊样式.
LaTe模板:http://www.yxlunwen.com/lunwendaquan/latexcankaowensuoshunxu/
参考文献模板制作:https://ctan.org/pkg/custom-bib
参考文献模板制作指导:http://blog.sina.com.cn/s/blog_607233f501013gc5.html