Pergunta

Como você pode escapar _ sem o uso de \_?

Este é o exemplo da pergunta

word_a_a_a_a_a_b_c_dd

Existe uma função que você pode usar para isso.No entanto, não consigo lembrar seu nome.

Foi útil?

Solução

Você está pensando no underscore Pacote, que redefine o símbolo sublinhado para que você não precise escapar no modo de texto? Ver aqui.

Outras dicas

Além de literalmente, eu não saberia.

Ambiente literal:

\begin{verbatim}
  word_a_a_a_a_a_b_c_dd
\end{verbatim}

Em linha:

\verb|word_a_a_a_a_a_b_c_dd|

Eu não consegui pegar o underscore pacote para trabalhar, então eu usei o url pacote:

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

...

Foo \url{word_a_a_a_a_a_b_c_dd} bar.

Normalmente, você deseja uma fonte monoespacial em tais situações, para que você possa usar isso:

\verb|word_a_a_a_a_a_b_c_dd|

Você também pode estar pensando no lstlisting ou verbatim ambientes, que são comumente usados ​​para exibir código - que pode conter sublinhados.No entanto, esses ambientes fazem muito mais do que apenas "escapar" dos sublinhados.

É engraçado como isso é um site de perguntas e respostas para perguntas de programação, mas ninguém sugeriu a programação ainda.

Você pode definir seu próprio comando que substitui os tokens sublinhados:

\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}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top