在这个问题,答案建议使用\newcommand{\code}[1]{\texttt{#1}}
来输入风格化的代码字体。这效果很好,但是,我试图在网站上编写代码,其中命名函数的格式/约定是让它们成为multiple_words_long_with_underscores_representing_spaces
。但是,我很懒,不想在每个下划线前面反复加上反斜杠。我知道我可以使用 find-replace-methods,但是有没有乳胶方法可以将其添加到我的\newcommand{\code}[1]{\texttt{#1}}
快捷方式中?
答案1
考虑使用listings
' \lstinline
(实验):
\documentclass{article}
\usepackage{listings}
\lstset{
basicstyle = \ttfamily
}
\let\code\lstinline
\begin{document}
Some regular text.
Some \code{code} inline.
Then some \code{multiple_words} code word.
\end{document}
答案2
\documentclass{article}
\newcommand\ustexttt[1]{\bgroup\ttfamily\ustextttaux#1\relax\relax}
\def\ustextttaux#1#2\relax{\ifx_#1\_\else#1\fi
\allowbreak
\ifx\relax#2\relax\def\next{\egroup}\else\def\next{\ustextttaux#2\relax}\fi
\next}
\begin{document}
Here is an example
\ustexttt{multiple_words_long_with_underscores_representing_spaces}
of converted underscores, with autobreak enabled.
\end{document}
如果您只希望在下划线后面换行,则可以将 移到\allowbreak
前一个\ifx
块内,跟在 之后\_
。