我正在尝试在我的文档中显示一个网址:
\documentclass{article}
\begin{document}
\subsection{test}
\label{sec:test}
[0] "test" $\emph{test}$. test, test. $\textrm{<http://tex.stackexchange.com/>}$. \\
\end{document}
但除了 URL 之外,其他都显示出来。 某些字符是否也受到限制textrm
? 我以为textrm
它会像显示普通文本一样显示任何字符。
答案1
$\textrm{<http://tex.stackexchange.com/>}$
您不需要数学模式,它除了减慢处理速度外什么也不做,因为\textrm
会让您回到文本模式。由于您使用的是经典的 TeX 编码,因此<
和>
不会显示为预期的符号OT1
。您可以使用
\usepackage[T1]{fontenc}
使用 8 位编码,其中 ASCII 字符位于通常的位置,但即使使用这种编码,通常最好\url
从url
包中使用,或者hyperref
因为它允许以 URL 感知的方式进行换行,您可以发出命令
\urlstyle{rm}
使用\url
与 相同的字体\textrm
。
答案2
您可以加载所调用的 LaTeX 包url
并在文档的序言中发出命令\urlstyle{same}
。这样,各个\url{....}
指令中包含的所有内容都将以当前文本字体排版。
使用该指令排版 URL 字符串的一大优点\url
是 LaTeX 通常能够很好地在长 URL 字符串中找到允许的换行符。
附录:如果您想在 URL 字符串的开头和结尾包含“小于”和“大于”符号,@GonzaloMedina 指出,可以通过加载包textcomp
并使用该包的命令\textless
和来很好地实现这一点\textgreater
。例如,代码
\documentclass{article}
\usepackage{textcomp,url}
\urlstyle{same}
\newcommand\myurl[1]{\textless\url{#1}\textgreater}
\begin{document}
\myurl{http://tex.stackexchange.com/}
\end{document}
生成: