全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 LATEX论坛
8115 2
2017-06-02
LaTeX技巧:使 LaTeX 文稿中的 URL 正确换行LaTeX 工作室
大部分稍有经验的 LaTeX 用户,都知道使用 \url 命令在 LaTeX 文稿中插入 URL。更资深一些的用户,会使用 hyperref 宏包,而不是过时的 url 宏包来处理。
然而,不论是否资深,大多数用户应该都有遇到过 LaTeX 无法正确对 URL 进行折行的问题。此篇介绍一下如何处理。
TeX 对于断行和分页,是有专门的算法处理的。通常而言,如果一个单词(一整个 \url 可以看做是一个单词),TeX 不知道从何处进行分词,那么 TeX 就不会在这个单词上断行。对于很长的单词,比如一个 \url,如果 TeX 不能在此处断行,而它又处于某一行的末尾,就很容易出现 overful box。
因此,本质上,这个问题需要让 \url 命令,知道我们允许在何处断行。
hyperref 宏包提供了两个宏,\UrlBreaks 以及 \UrlBigBreaks,用于告知 TeX,用户允许在何处截断 URL 以便换行。二者有一些细微的差别,但此处按下不表——大多数读者只需要使用 \UrlBreaks 即可。
复制代码

在这里,\UrlOrds 里记录了一些特殊符号(例如 - 和 _),而 \UrlAlphabet 记录了 26 个英文字母的大小写,\UrlDigits 则记录了 10 个阿拉伯数字。
而后,我们使用 LaTeX 内核提供的 \g@addto@marco,依次将上述三个宏的内容,续接在 \UrlBreaks 之后。这就是说,我们允许在上述所有字符处断行。
如此,编译出的结果也是符合预期的。
[/url][url=http://7xnc7f.com1.z0.glb.clouddn.com/wp-content/uploads/2017/05/urlbreak.png]

选自:https://liam0205.me/2017/05/17/help-the-url-command-from-hyperref-to-break-at-line-wrapping-point/


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2022-9-27 17:58:12
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-2-5 00:48:13
thanks for sharing
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群