是否可以聲明文檔是無數學的以阻止“插入缺少$”?

是否可以聲明文檔是無數學的以阻止“插入缺少$”?

我知道可以轉義每個底線 ( \_) 或 apply \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}

在此輸入影像描述

相關內容