textrm 不显示某些字符

textrm 不显示某些字符

我正在尝试在我的文档中显示一个网址:

\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 字符位于通常的位置,但即使使用这种编码,通常最好\urlurl包中使用,或者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}

生成:

在此处输入图片描述

相关内容