![\usepackage{breakurl} 和带有“)”的 URL 不起作用](https://linux22.com/image/299586/%5Cusepackage%7Bbreakurl%7D%20%E5%92%8C%E5%B8%A6%E6%9C%89%E2%80%9C)%E2%80%9D%E7%9A%84%20URL%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
参见以下两个文件:paper.bib 和 test.tex
1)
%\usepackage{breakurl}
=> 可以正常工作,但网址太长 - 应该中断一下
2)
\usepackage{breakurl}
=> 有效
=> 但如果网址中有“(”或“)”(数字应该不同)(参见 paper.bib),则不起作用
error: Error: /syntaxerror in -file-
Operand stack:
BU.L (http://www.website.com/define.php?term=2)
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1930 1 3 %oparray_pop 1929 1 3 %oparray_pop 1913 1 3 %oparray_pop 1803 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push
Dictionary stack:
--dict:1174/1684(ro)(G)-- --dict:0/20(G)-- --dict:80/200(L)-- --dict:102/300(L)-- --dict:45/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
MiKTeX GPL Ghostscript 9.05: Unrecoverable error, exit code 1
在 url 中我也尝试过\)
- 但不起作用
我做错了什么 :(?有人能解决这个问题吗?谢谢
测试.tex
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{makeidx}
\usepackage{hyperref}
%\usepackage{breakurl} ------------- without % it doesnt work
\usepackage[hyperref,sortcites=false,style=authoryear,bibstyle=authoryear,minnames=1,maxnames=999,backend=bibtex,sorting=nyvt]{biblatex}
\bibliography{paper}
\begin{document}
I hereby cite \cite{abc}.
\printbibliography
\printindex
\end{document}
论文集
@misc{abc,
author = {{UB}},
title = {{abc}},
year = {2014},
note = {\url{http://www.website.com/define.php?term=2222222222222222222222222222222222222222222)}},
}
答案1
biblatex
可以很好地控制断开的 URL,没有使用breakurl
包。特别是,您可以设置biburlnumpenalty
为非零数字以允许数字后中断。它是一个计数器,因此使用例如\setcounter{biburlnumpenalty}{10}
:
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{makeidx}
\usepackage{hyperref}
\usepackage[hyperref,sortcites=false,style=authoryear,bibstyle=authoryear,minnames=1,maxnames=999,backend=bibtex,sorting=nyvt]{biblatex}
\bibliography{paper}
\setcounter{biburlnumpenalty}{10}
\begin{document}
I hereby cite \cite{abc}.
\printbibliography
\printindex
\end{document}
请参阅biblatex
文档biburl
对于可以设定的其他处罚。