如何将 _ 转换为 \_

如何将 _ 转换为 \_

这个问题,答案建议使用\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块内,跟在 之后\_

相关内容