22

不使用 _ 怎么能逃脱\_

这是问题的示例

word_a_a_a_a_a_b_c_dd

您可以为此使用一个功能。但是,我不记得它的名字了。

4

6 回答 6

30

您是否正在考虑underscore重新定义下划线符号以便您不必在文本模式下对其进行转义的包?见这里

于 2009-08-28T11:51:17.660 回答
25

除了逐字我不知道。

逐字环境:

\begin{verbatim}
  word_a_a_a_a_a_b_c_dd
\end{verbatim}

排队:

\verb|word_a_a_a_a_a_b_c_dd|
于 2009-08-28T11:52:12.697 回答
14

我无法让这个underscore包工作,所以我使用了这个url包:

\usepackage{url}
\urlstyle{sf}  % or rm, depending on your font

...

Foo \url{word_a_a_a_a_a_b_c_dd} bar.
于 2010-01-27T01:11:09.547 回答
3

通常在这种情况下你需要一个等宽字体,所以你可以使用这个:

\verb|word_a_a_a_a_a_b_c_dd|
于 2010-01-27T01:13:32.210 回答
2

有趣的是,这是一个编程问题的问答网站,但还没有人建议编程。

您可以定义自己的命令来替换下划线标记:

\documentclass{article}

\newcommand{\filename}[1]{\emph{\replunderscores{#1}}}

\makeatletter
% \expandafter for the case that the filename is given in a command
\newcommand{\replunderscores}[1]{\expandafter\@repl@underscores#1_\relax}

\def\@repl@underscores#1_#2\relax{%
    \ifx \relax #2\relax
        % #2 is empty => finish
        #1%
    \else
        % #2 is not empty => underscore was contained, needs to be replaced
        #1%
        \textunderscore
        % continue replacing
        % #2 ends with an extra underscore so I don't need to add another one
        \@repl@underscores#2\relax
    \fi
}
\makeatother


\begin{document}
    \filename{__init__.py}
\end{document}
于 2019-07-14T14:33:09.877 回答
1

您可能还会想到通常用于显示代码的lstlistingor环境 - 可以包含下划线。verbatim然而,这些环境不仅仅是“转义”下划线。

于 2009-08-28T11:53:59.713 回答