我希望\url{}
和的输出\href{}
显示相同。我已将两者的颜色更改为blue
,但似乎也使用了不同的 :
代码:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{www.yahoo.com}
\end{document}
答案1
url
更改字体,但您可以将其设置为默认衬线以匹配\href
:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\urlstyle{rm}
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{www.yahoo.com}
\end{document}
请注意,\urlstyle{}
来自网址正在hyperref
加载。(您可以使用url
without hyperref
- 事实上,我经常这样做。)我看不到任何地方在hyperref
的文档中真正解释这一点,但我只搜索了 PDF 手册,并且还有更多内容,所以毫无疑问它在某个地方有所介绍。
更新
如果您希望生成的样式\href
与默认样式一致\url
- 或者希望它们都使用不同的样式,例如无衬线 - 您可以使用 来\url{}
格式化生成的链接文本\href{}
:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\urlstyle{sf}% sans for a change
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{\url{www.yahoo.com}}
\urlstyle{tt}% back to url's default
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com}{\url{www.yahoo.com}}
\end{document}
答案2
的第二个参数\href
是任意文本。如果文本应显示为\url
,则\nolinkurl
可以使用 ,其作用为 ,\url
而不包含 已提供的链接部分\href
。
可以通过以下方式更改字体\urlstyle
,请参阅包的文档url
例子:
\documentclass{book}
\usepackage{xcolor}
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue}
\begin{document}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com/}{\nolinkurl{www.yahoo.com}}
\medskip
\urlstyle{sf}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com/}{\nolinkurl{www.yahoo.com}}
\medskip
\urlstyle{rm}
url: \url{www.yahoo.com}
href: \href{http://www.yahoo.com/}{\nolinkurl{www.yahoo.com}}
\end{document}
答案3
查看这个解决方案:https://tex.stackexchange.com/a/201952/62165。它可能会解决您的问题。它基于 \href,但您可以通过使两个输入参数相同(即 \click{www.yahoo.com}{www.yahoo.com})将其用作 \url 替代品。或者,您可以修改 \click 命令以仅接受一个参数。它不会更改背景字体,这可能正是您想要实现的。它会忽略所有 \hyperref 默认值。