当URL在一条线上并进入第二行时,超链接仅使用第一行。有没有办法绕过这个但仍然有多行的URL?
答案 0 :(得分:32)
您应该使用url
包:
\usepackage{url}
...
\url{http://long.url.com/... .../stuff}
它会在适当的地方为你打破它。
答案 1 :(得分:14)
在序言中,只需将\usepackage{breakurl}
放在\usepackage{hyperref}
之后的某处。 \burl
命令已定义,默认情况下,程序包还会将\url
命令转换为\burl
的同义词。
答案 2 :(得分:12)
我建议使用软件包:
\ usepackage {xurl}
这对我的背面很有效。
示例:
\url{https://www.tudelft.nl/ewi/over-de-faculteit/afdelingen/intelligent-systems/pattern-recognition-bioinformatics/pattern-recognition-laboratory/data-and-software/dd-tools/}
答案 3 :(得分:9)
按以下方式进行。你很高兴!
\begin{document}
\sloppy
答案 4 :(得分:4)
对我来说这只有效:
\PassOptionsToPackage{hyphens}{url}
\usepackage{hyperref}
并使用此代码在每个普通字母字符后添加换行符并使用* - 〜'":
\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one
\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
\do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D%
\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X%
\do\Y\do\Z\do\*\do\-\do\~\do\'\do\"\do\-}%
回答来自这个网站: https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10401
答案 5 :(得分:3)
您使用的是什么包(hyperref,url)和驱动程序(pdftex,dvips等)?您是否使用breaklinks选项进行hyperref?
根据TeX FAQ您可能想要尝试breakurl
套餐,虽然看起来在某些情况下您可能只是运气不好。
答案 6 :(得分:0)
使用public void run() {
int updatesPerSecond = 5;
/* The target time is the time each update should take.
* You want the target time to be in milliseconds.
* so 5 updates a second is 1000/5 milliseconds. */
int targetTime = 1000 / updatesPerSecond;
long currentTime;
long lastTime = System.nanoTime();
long elapsedTime;
long sleepTime;
while (running) {
// get current time (in nanoseconds)
currentTime = System.nanoTime();
// get time elapsed since last update
elapsedTime = currentTime - lastTime;
lastTime = currentTime;
// run your update
update();
// compute the thread sleep time in milliseconds.
// elapsed time is converted to milliseconds.
sleepTime = targetTime - (elapsedTime / 1000000000);
// don't let sleepTime drop below 0
if (sleepTime < 0) {
sleepTime = 1;
}
// attempt to sleep
try {
Thread.sleep(sleepTime);
} catch(Exception e) {
e.printStackTrace();
}
}
}
时,路径段中包含下划线(_)的长网址不会被破坏。但是,我发现我可以通过使用\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref}
手动打破显示标签中的行来解决此问题,如下所示:
\\\\
根据Debajyoti Mondal的建议,这会产生比使用\href{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_complexity/links/0922b4f398ad68bc96000000.pdf}{http://www.researchgate.net/profile/Nick\_Brooks2/publication/220012411\_\\Cultural\_responses\_to\_aridity\_in\_the\_Middle\_Holocene\_and\_increased\_social\_\\complexity/links/0922b4f398ad68bc96000000.pdf}
和\usepackage{breakurl}
更漂亮的网址(IMO),并允许您根据需要显示完整的网址。< / p>
答案 7 :(得分:0)
最适合我的(使用 pdflatex)是
\usepackage[pdftex]{hyperref}
然后只需 \url{http://stackoverflow.com/}
创建 URL。它只破坏了 .
和 /
处的 URL,这对我的文档来说没问题。重要的是,我尝试过的其他方法创建的 PDF 中只有 URL 的第一行是可点击的链接,目标 URL 被截断到这一部分,这非常混乱和糟糕。
答案 8 :(得分:0)
使用为您加载到 url 包中的 xurl package 解决了我的问题。它让 url 在我理解的任何地方中断
答案 9 :(得分:-3)
有一个简单的答案。在\ begin {document}前使用\ usepackage [hidelinks] {hyperref}