记录一下最近用latex写论文遇到的一些问题和解决方法
问题1: 没有目录&超链接
问题描述
打开Latex生成的pdf文件,没有索引目录,也没有所有参考文献、figure、table的超链接。
解决方法
这个问题比较简单,网上已经有不少教程。主要原因是elsarticle模板没有加入hyperref的宏包,所以只需要在\begin{document}之前加入以下一行就可以:
\usepackage{hyperref}
如果遇到 “paragraph ended before hy@setref@link was complete”报错,再加入下面这行
\def\MakeUppercaseUnsupportedInPdfStrings{\scshape}
这时候的所有超链接都是带有颜色和红色边框的,比较不美观,添加以下设置就可以使超链接部分的样式和正文一致。也可以按需修改。
\hypersetup{hidelinks,
colorlinks=false,
allcolors=black,
pdfstartview=Fit,
breaklinks=true
}
问题2: doi字体不一致
问题描述
上一个问题解决之后,发现参考文献中doi的字体发生了变化:
添加hyperref之前:
添加hyperref之后:
搜索之后发现一个解决方案是使用\urlstyle{same} 将url的样式设置为和正文相同,但是!!因为elsarticle的参考文献格式里,doi并不是使用\url命令引用的,所以添加了这一行之后并没有作用。
解决方法
温馨提示:操作之前最好备份一下.bst文件,避免修改出错后无法恢复
Step1
打开.bst文件,找到以下这一行:
\providecommand{\doi}[1]{\href{http://dx.doi.org/#1}{\path{#1}}}
修改为:
\providecommand{\doi}[1]{\url{http://dx.doi.org/#1}}
这个操作的目的是把之前使用\href进行引用的doi改为使用\url进行引用。
Step 2(可选)
在.bst文件中找到以下这一行:
"\providecommand{\DOIprefix}{doi: }"
把最后一个花括号里的doi:删掉,只保留空的{}
因为我目标期刊的参考文献格式里,是直接显示doi的链接,没有doi: 这个前缀的,所以这个操作是把doi: 的前缀删掉。
Step 3
在.tex文件中添加以下这行,重新编译即可。如果有报错,可以尝试先删掉.bbl文件之后再重新编译。
\urlstyle{same}