【LaTeX】参考文献排版前移,在最前面引用\usepackage{url}
- 写在最前面
- 完整解决步骤
- 请教申申
- latex编译报错
- 解决方案
写在最前面
参考文献从21开始排版前移了
解决方案:在最前面加一行
\usepackage{url}
完整解决步骤
请教申申
申申yyds!!最后真是url的问题,学习到了申申解决问题的逻辑,感觉好丝滑
请教了申申,申申说是因为:
分栏和单词压缩到同一行的冲突
为了好看,单词间不换行,并且长字符串尽量保持在同一行,允许适当的溢出,再加上强制分栏就变成这样
可以尝试:
有doi的别引入online链接,重新加一下21的bib格式,别用online
尝试了21,还是不行。申申说是因为22及后面的都有这个限制,可以直接把可能出问题的先注释掉
看看到底哪个出问题了
因为:
如果单纯是一到21就出问题,那可能这个style本身就有逻辑bug
但不太可能
latex编译报错
Missing $ inserted.
./output.bbl, 120
You need to enclose all mathematical expressions and symbols with special markers. These special markers create a ‘math mode’.
Use $...$ for inline math mode, and \[...\]or one of the mathematical environments (e.g. equation) for display math mode.
This applies to symbols such as subscripts ( _ ), integrals ( \int ), Greek letters ( \alpha, \beta, \delta ) and modifiers (\vec{x}, \tilde{x}).
了解更多
<inserted text>
$
l.120 .../dx.doi.org/10.1007/978-94-024-0881-2_32}
I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.
解决方案
这个错误信息表明LaTeX在.bbl
文件的第120行遇到了需要处于数学模式中的字符或表达式,但没有被正确地包围在数学模式定界符($...$
或\(...\)
等)中。在LaTeX中,任何数学符号和表达式都需要放在数学模式中才能正确编译。
错误可能是由以下原因造成的:
-
在
.bib
文件的某个条目中,可能包含了像下划线(_
)这样的特殊字符,而这些字符在LaTeX中被用作数学符号。例如,如果您有一个URL或其他字段中的下划线,并且没有被正确地处理,它将触发这个错误。 -
可能是引用中包含了应该在数学模式中的字符,比如希腊字母或数学运算符,但没有被正确地包围在数学模式中。
为了修复这个问题,您需要定位到.bib
文件中第120行对应的条目,并检查是否有任何特殊字符或数学表达式没有被正确地包含在数学模式中。如果是URL中的下划线,通常URL不需要放在数学模式中,因此您应该使用\url{...}
命令来正确地处理它们。
例如,如果条目中的URL看起来像这样:
url = {http://dx.doi.org/10.1007/978-94-024-0881-2_32}
您应该改为使用\url
命令:(实践证明不用改,直接加宏包就可以了)
url = {\url{http://dx.doi.org/10.1007/978-94-024-0881-2_32}}
确保在.bib
文件中做出相应的修改,然后重新运行BibTeX和LaTeX来编译您的文档。这应该能
解决“Missing $ inserted.”的问题。注意,\url
命令需要url
宏包或hyperref
宏包,如果您还没有包含这些宏包,请在LaTeX文档的导言区加上相应的包:
\usepackage{url} % 或者
\usepackage{hyperref}
通常,hyperref
包会自动处理URL中的特殊字符,而不需要将它们放入数学模式中。如果您使用的是hyperref
包,并且已经正确地使用了\url
命令,您不应该遇到这个问题。如果问题依然存在,请检查.bib
文件中是否还有其他未被正确处理的特殊字符或表达式。