是否可以声明文档不含数学知识以阻止“缺少$插入”?

是否可以声明文档不含数学知识以阻止“缺少$插入”?

我知道可以转义每个下划线(\_),或者应用\usepackage{underscore}

转义是繁琐的,下划线包中断\textbf{a_b}\includegraphics{filename_with_underscore}

对于包含多个下划线(在我的情况下是在 URL 中)的无数学文本,有没有更好的解决方案?

答案1

最好用\url{http://.....}(url 或 hyperref) 标记 URL,因为这样换行更方便。请注意,该url包只允许在 URL 中换行,不会添加任何注释。hyperref使用相同的代码进行换行,但也使链接成为活动链接。默认情况下,这会添加彩色装饰,但该包有几个选项可以控制或禁用它。

但是如果你想要 _ 成为一个普通字符使用

\catcode`\_=12 

确保你有

\usepackage[T1]{fontenc} 

因为 OT1 字体没有该_字符。

答案2

您可以在数学模式之外打印下划线,并在数学模式下执行其通常的业务:

\documentclass{article}
\usepackage[T1]{fontenc}

\catcode`_=12
\begingroup\lccode`~=`_\lowercase{\endgroup\let~\sb}

\begin{document}

Under_score and $a_{1}$.

\end{document}

在此处输入图片描述

对于彩色 URL 的问题,只需加载hyperref相关选项即可。\urlstyle您还可以更改默认字体。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{hyperref}

\hypersetup{colorlinks=false}

\catcode`_=12
\begingroup\lccode`~=`_\lowercase{\endgroup\let~\sb}

\begin{document}

Under_score and $a_{1}$, see at
\url{http://tex.stackexchange.com}


\bigskip

\urlstyle{rm}

This URL uses the normal font
\url{http://tex.stackexchange.com}

\end{document}

在此处输入图片描述

相关内容