\_
を使用せずに_をエスケープするにはどうすればよいですか?
これは質問の例です
Word_a_a_a_a_a_b_c_dd
これに使用できる関数が1つあります。しかし、その名前は思い出せません。
underscore
パッケージを考えていますか?これは、アンダースコア記号を再定義して、テキストモードでエスケープする必要がないようにします。 here を参照してください。
逐語的以外は私にはわかりません。
逐語的な環境:
\begin{verbatim}
Word_a_a_a_a_a_b_c_dd
\end{verbatim}
列をなして:
\verb|Word_a_a_a_a_a_b_c_dd|
underscore
パッケージを機能させることができなかったので、url
パッケージを使用しました。
\usepackage{url}
\urlstyle{sf} % or rm, depending on your font
...
Foo \url{Word_a_a_a_a_a_b_c_dd} bar.
通常、このような状況では等幅フォントが必要なので、次のように使用できます。
\verb|Word_a_a_a_a_a_b_c_dd|
lstlisting
またはverbatim
環境について考えているかもしれません。これらは、コードを表示するために一般的に使用されており、アンダースコアを含めることができます。ただし、これらの環境は、単なる「エスケープ」アンダースコア以上のことを行います。
これがプログラミングの質問のための質疑応答サイトであるのはおかしいですが、まだ誰もプログラミングを提案していません。
アンダースコアトークンを置き換える独自のコマンドを定義できます。
\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}