[OS X TeX] Colored words
Aaron Jackson
jackson at msrce.howard.edu
Mon Feb 21 19:21:52 EST 2005
On Feb 21, 2005, at 5:03 PM, Alain Schremmer wrote:
> Aaron Jackson wrote:
>
>> Strange.
>
> Not strange at all:
> What happened is that when I copy-pasted your code onto a new TeXshop,
> I didn't realize that, somehow, a space had gotten in front of "green"
> and that the console was indeed complaining about ' green'.
> Thus, my fault and I apologize.
>
> I still have a few problems.
>
> - I would rather not have the line numbers since the reader won't see
> them in the file they will create.
Just delete the following lines:
\newlength{\xleftmargin}
\settowidth{\xleftmargin}{\textbf{99999}}% width of 5 digits in the
current font.
\newlength{\numbersep}
\settowidth{\numbersep}{\textbf{99}}% width of 2 digits in the current
font.
and the following from \lstset
numbers=left, stepnumber=1, numberstyle=\normalsize,
numbersep=\numbersep, xleftmargin=\xleftmargin
> - In the listing, $ does not show green.
I don't know how to do that without muching around with latex code.
That is, in order to print out a green $ you would have to do something
like (not complete file and not fully tested):
\newcommand{\green}[1]{\textcolor{green}{#1}}
\usepackage{listings}
\lstloadlanguages{{[latex]TeX}}
\lstset{language={[latex]TeX}, keywordstyle=\color{blue},
texcsstyle=*{\color{blue}}, commentstyle=\color{red},
showstringspaces=false, showspaces=false, showtabs=false,
columns=fullflexible tabsize=4, fontadjust, basewidth=1ex, breaklines,
moretexcs={numbersep,xleftmargin,
color,textcolor,mysyntaxp,mysyntax,lstset,lstloadlanguages,lstinputlisti
ng, lstinline}, escapeinside=`'}%you can change theses characters to
whatever you like.
...
\begin{lstlisting}
`\green{\$}'f(x) = ax^2 +bx +c`\green{\$}'
\textbf`\green{\{}\textsf{test}\green{\}}'
\end{lstlisting}
...
I guess you could also do something like:
\newcommand{\green}[1]{\textcolor{green}{#1}}
\newcommand{\gop}{\green{\{}}
\newcommand{\gcp}{\green{\}}
\newcommand{\gds}{\green{\$}}
\newcommand{\arg}[1]{\gop\textsf{#1}\gcp}
\usepackage{listings}
\lstloadlanguages{{[latex]TeX}}
\lstset{language={[latex]TeX}, keywordstyle=\color{blue},
texcsstyle=*{\color{blue}}, commentstyle=\color{red},
showstringspaces=false, showspaces=false, showtabs=false,
columns=fullflexible tabsize=4, fontadjust, basewidth=1ex, breaklines,
moretexcs={numbersep,xleftmargin,
color,textcolor,mysyntaxp,mysyntax,lstset,lstloadlanguages,lstinputlisti
ng, lstinline}, escapeinside=`'}%you can change theses characters to
whatever you like.
...
\begin{lstlisting}
`\gds'f(x) = ax^2 +bx +c`\gds'
\textbf`\arg{test}'
\end{lstlisting}
...
Which makes it a bit cleaner I guess. However, it kind of defeats the
notion of typesetting real source code...
> - How do I show $f(x) = ax^2 +bx +c$? (Verbatim of course shows $
> in black.)
As a type set formula in a listing or as the latex code inline? For
the former, set mathescape=true in \lstset. For the latter, you can
use \lstinline, i.e.
\lstinline!$f(x) = ax^2 +bx +c$!
Add lstinline to the moretexcs list if you ever want it to be
recognized as a key word.
> Other than that this is fantastic. (Even *{\color{blue}} works.)
Good. I don't think that listings was ever written with this exact use
in mind, but it isn't too far away.
--------------------- Info ---------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Post: <mailto:MacOSX-TeX at email.esm.psu.edu>
More information about the MacOSX-TeX
mailing list