# Escape character in LaTeX

I need to output the below text but since \ is a special character, I cannot:

[RegularExpression(@"\d+")]


Also sometimes I need use dollar sign $ as well but it seems to be a special char, too. What is the way to escape those in LaTeX? UPDATE: I used \verb as suggested but I am unable to run commands inside it. Also, in the output the font and the opacity of the text is different than the default one: \verb|[RegularExpression(\newline @"\d+")]|  • – caw Oct 10, 2013 at 0:09 • yea but if you surround \textbackslash within \texttt it does not have the right "code font" Dec 19, 2019 at 15:20 • @caw but$\textbackslash{}$does not look right if its inside a \texttt command :( Dec 19, 2019 at 15:21 ## 5 Answers The following ten characters have special meanings in (La)TeX: & % $ # _ { } ~ ^ \

Outside \verb, the first seven of them can be typeset by prepending a backslash; for the other three, use the macros \textasciitilde, \textasciicircum, and \textbackslash.

\documentclass{article}

\begin{document}


# Replace a \ with $\backslash$
# This is made more complicated because the dollars will be escaped
# by the subsequent replacement. Easiest to add \backslash
# now and then add the dollars
$paragraph =~ s/\\/\\backslash/g; # Must be done after escape of \ since this command adds latex escapes # Replace characters that can be escaped$paragraph =~ s/([\$\#&%_{}])/\\$1/g;

# Replace ^ characters with \^{} so that $^F works okay$paragraph =~ s/(\^)/\\$1\{\}/g; # Replace tilde (~) with \texttt{\~{}}$paragraph =~ s/~/\\texttt\{\\~\{\}\}/g;

# Now add the dollars around each \backslash
$paragraph =~ s/(\\backslash)/\$$1\$/g;
return $paragraph; }  For example it will convert this: & %$ # _ { } ~ ^ \ \today


into this:

\& \% \$\# \_ \{ \} \texttt{\~{}} \^{}$\backslash\backslash$today  I was surprised the use of \detokenize was not shown, but I then noted that egreg had it at one point until Phillipe pointed out that And a drawback you don't mention of \detokenize is that it inserts spaces after macros names with more than one character (not sure if it's relevant for regular expressions). The tokcycle package, as part of its examples document provides an \altdetokenize which, despite its name, is not an alternate way to detokenize. Rather, it takes detokenized output and reformulates its appearance to remove those ugly spaces that are inserted after macros, when it is appropriate to do so (through strategically placed \unskips). In the MWE, first \detokenize, then \altdetokenize as described in the tokcycle examples document: https://ctan.org/tex-archive/macros/generic/tokcycle. Note that T1 font encoding must be active for backslashes to render properly. This is an interesting macro in that, unlike the recommended tokcycle approach of collecting the processed tokens from the input in a token list and then outputting the token list at the end, this macro works in real-time, outputting its result during, rather than after, the token cycle. This is possible because the output is detokenized, and I don't have to worry about macros in the input stream demanding arguments that have not yet been processed. \documentclass{article} \usepackage[T1]{fontenc} \usepackage{tokcycle} \newif\ifmacro \newcommand\altdetokenize[1]{\begingroup\stripgroupingtrue\macrofalse \stripimplicitgroupingcase{-1}% \tokcycle {\ifmacro\def\tmp{##1}\ifcat\tmp A\else\unskip\allowbreak\fi\macrofalse\fi \detokenize{##1}\ifx##1\bgroup\unskip\fi\ifx##1\egroup\unskip\fi} {\ifmacro\unskip\macrofalse\fi\{\processtoks{##1}\ifmacro\unskip\fi\}\allowbreak} {\tctestifx{\\##1}{\\}{\ifmacro\unskip\allowbreak\fi \allowbreak\detokenize{##1}\macrotrue}} { \hspace{0pt plus 3em minus .3ex}} {#1}% \unskip \endgroup} \begin{document} \detokenize{[RegularExpression(@"\d+")]} \altdetokenize{[RegularExpression(@"\d+")]} \end{document}  Just in case anyone is looking for another way to escape special characters, this can be done with the listings package. \lstinline{[RegularExpression(@"\d+")]}  Since all characters will be displayed as they are, it is not possible to execute any command inside the block. Update: the inline listing \lstinline supports the math mode by including the mathescape option. It also supports the escapechar option, but it needs to be activated manually (more here). % enable escapechar for \lstinline \makeatletter \patchcmd{\lsthk@TextStyle}{\let\lst@DefEsc\@empty}{}{}{\errmessage{failed to patch}} \makeatother % ... \lstinline[escapechar=]|\cite{} in \lstinline \cite{wgan}| \lstinline[basicstyle=\small\ttfamily,mathescape]{[RegularExpression(@"\d+")] // some math:$\sum_{i}^{N}{x_i}\$}


Note that \lstinline{ } does not escape {}, so \lstinline| | is used.

It can also be customized:

\lstinline[basicstyle=\small\ttfamily\color{red}]{[RegularExpression(@"\d+")]}


where \ttfamily` is the teletypefont family.