latex: dollar $ sign within lstlising

2020-07-19 05:41发布

问题:

I am trying to put some asm code into a latex document, onfurtunatly pdflatex treats the $ signs within my document as math env (which I do not want). On the other side I'd still like to use that fancy linebreak arrow (which uses math env to display it).

\lstset{
texcl=false,
mathescape=false,
..,
prebreak = \raisebox{0ex}[0ex][0ex]{ensuremath{\hookleftarrow}}
}

example snap:

CTRL_WD_12      equ     $303400
CTRL_WD_34      equ     $220000
CTRL_WD_56      equ     $000000
CTRL_WD_78      equ     $000000

thanks for any help.

回答1:

You have a missing backslash. Try:

prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}}

It was the \hookleftarrow outside of math mode that was causing the error.



回答2:

Use this:

CTRL_WD_12      equ     \$303400
CTRL_WD_34      equ     \$220000
CTRL_WD_56      equ     \$000000
CTRL_WD_78      equ     \$000000

The rule is: if something is a special character, like $ is, a backslash \ usually escapes it without problems.