
有沒有辦法控制 url 的中斷biblatex
?我在用美國化學學會指南它說:
筆記:不同的 Web 瀏覽器會在 URL 的不同位置中斷文字。在印刷作品中,如果 URL 需要在行尾進行換行,則應在冒號或雙斜線之後進行換行;在單一斜線、波形符號、句號、逗號、連字號、底線、問號、數字符號或百分號之前;或等號或與號之前或之後。
我還使用該url
套件以與我的文字相同的字體排版網址。我閱讀了包文檔,對巨集\UrlBreaks
和有點困惑\UrlBigBreaks
,但從我收集的情況來看,這些只能用於在列出的字符之後允許中斷,但不能在之前作為樣式指南的一些要求(我個人肯定不喜歡在經期前休息! )。有沒有辦法做到這一點?
答案1
我認為這應該要做你想要的。它定義了一種新的風格,可以根據您的規則\urlstyle{acs}
重新定義。\UrlBreaks
\UrlSpecials
有一個小問題。它更喜歡在 和 之間中斷:
,//
而不是在 之間//
,但是如果您有//
其他地方,則有可能在之間中斷。我試著解決這個問題,但沒能成功。但我認為這不會在真實的例子中發生。
微量元素
\documentclass{article}
\usepackage{url}
\makeatletter
\def\url@acsstyle{%
\def\UrlBreaks{\do\/}%
\def\UrlSpecials{%
\do\~{\penalty\UrlBreakPenalty\mathchar`~}%
\do\.{\penalty\UrlBreakPenalty\mathchar`.}%
\do\,{\penalty\UrlBreakPenalty\mathchar`,}%
\do\-{\penalty\UrlBreakPenalty\mathchar`-}%
\do\_{\penalty\UrlBreakPenalty\mathchar`_}%
\do\?{\penalty\UrlBreakPenalty\mathchar`?}%
\do\#{\penalty\UrlBreakPenalty\mathchar"23}%
\do\%{\Url@percent}%
\do\={\penalty\UrlBreakPenalty\mathchar`=\penalty\UrlBreakPenalty}%
\do\&{\penalty\UrlBreakPenalty\mathchar`&\penalty\UrlBreakPenalty}%
\do\ {\Url@space}\do\^^M{\Url@space}%
\Url@force@Tilde}%
}
\makeatother
\raggedright
\begin{document}
\hsize 5cm
\section*{Default Style}
\url{https://tex.stackexchange.com/questions/477945/control-url-breaking}
\section*{ACS Style}
\urlstyle{acs}
\url{https://tex.stackexchange.com/questions/477945/control-url-breaking}
\end{document}
答案2
您將需要三個不同的包,因此請將其包含在您的程式碼中:
\usepackage{url}
\usepackage{breakurl}
\usepackage[breaklinks]{hyperref}
\def\UrlBreaks{\do\/\do-}
現在,如果您希望能夠在 a/
或 a之後中斷它,您只需要添加即可-
。
例如,如果條目是這樣的:
@misc{GartnerNFC,
author = "Clark, Sarah",
howpublished = "nfcworld.com",
month = aug,
note = "Cited July 3rd 2012",
title = "{Gartner’s Hype Cycle places NFC at ‘Peak of Inflated Expectations’}",
url = "http://www.nfcworld.com/2011/08/11/39008/gartner-hype-cycle-places-nfc-at-peak-of-inflated-expectations",
year = "2011"
}
它看起來像這樣:
對於其他選項,請查看url
套件文件。