On Fri, Jun 15, 2012 at 4:05 PM, Javier Pimás <[email protected]>wrote:
> this is really cool!! Do you have the code for the example you posted?
>
>
yep, sorry, Luc already told me I should have done that. Pretty easy:
\begin{code}{}
testSimpleForwarder
| proxy |
proxy := TargetBasedProxy createProxyFor: (Point x: 3 y: 4) handler:
SimpleForwarderHandler new.
self assert: proxy x equals: 3.
self assert: (proxy perform: #y) equals: 4.
\end{code}
> Cheers!
>
>
> On Fri, Jun 15, 2012 at 5:37 AM, Mariano Martinez Peck <
> [email protected]> wrote:
>
>> Hi guys. I know that: a) for papers we usually write code in black and
>> white and b) even when we may want colors like books or thesis, we still
>> may not want to add colors.
>> Anyway, for my thesis, I do want to make the code a little bit nicer and
>> so I did some Smalltalk syntax highlighting with listings package. Not sure
>> if this would be helpful for someone else, but just in case, I paste at the
>> end the code.
>> Basically, I can detect (and therefore, choose a color/style):
>> globals/classes (start with uppercase), keywords, comments, strings,
>> symbols and numbers.
>> I also attach an screenshot.
>>
>> Cheers
>>
>> btw, thanks to Lukas and Luc for their help.
>>
>>
>>
>> % Source Code
>> \usepackage{color}
>> \usepackage{textcomp}
>> \usepackage{listings}
>> % \usepackage{needspace}
>> % \usepackage{ulem}
>>
>> \definecolor{source}{gray}{0.95}
>>
>> % my comment style
>> \newcommand{\myCommentStyle}[1]{{\footnotesize\ttfamily\itshape\color{gray!100!white}
>> #1}}
>>
>> % my string style
>> \newcommand{\myStringStyle}[1]{{\footnotesize\ttfamily\color{violet!100!black}
>> #1}}
>>
>> % my symbol style
>> \newcommand{\mySymbolStyle}[1]{{\footnotesize\ttfamily\color{violet!100!black}
>> #1}}
>>
>> % my keyword style
>> \newcommand{\myKeywordStyle}[1]{{\footnotesize\ttfamily\color{green!70!black}
>> #1}}
>>
>> % my global style
>> \newcommand{\myGlobalStyle}[1]{{\footnotesize\ttfamily\color{blue!100!black}
>> #1}}
>>
>> % my number style
>> \newcommand{\myNumberStyle}[1]{{\footnotesize\ttfamily\color{brown!100!black}
>> #1}}
>>
>> \lstset{
>> language={},
>> % characters
>> tabsize=3,
>> escapechar={!},
>> keepspaces=true,
>> breaklines=true,
>> alsoletter={\#},
>> breakautoindent=true,
>> columns=fullflexible,
>> showstringspaces=false,
>> % background
>> frame=single,
>> aboveskip=1em, % automatic space before
>> framerule=0pt,
>> basicstyle=\footnotesize\ttfamily\color{black},
>> keywordstyle=\myKeywordStyle,% keyword style
>> commentstyle=\myCommentStyle,% comment style
>> frame=single,%
>> backgroundcolor=\color{source},
>> % numbering
>> numbersep=5pt,
>> numberstyle=\myNumberStyle,
>> numberfirstline=true,
>> % caption
>> captionpos=b,
>> % formatting (html)
>> moredelim=[is][\textbf]{<b>}{</b>},
>> moredelim=[is][\textit]{<i>}{</i>},
>> moredelim=[is][\uline]{<u>}{</u>},
>> moredelim=[is][\color{red}\uwave]{<wave>}{</wave>},
>> moredelim=[is][\color{red}\sout]{<del>}{</del>},
>> moredelim=[is][\color{blue}\uline]{<ins>}{</ins>},
>> % smalltalk stuff
>> morecomment=[s][\myCommentStyle]{"}{"},
>> % morecomment=[s][\myvs]{|}{|},
>> morestring=[b][\myStringStyle]',
>> moredelim=[is][]{<sel>}{</sel>},
>> moredelim=[is][]{<rcv>}{</rcv>},
>> moredelim=[is][\itshape]{<symb>}{</symb>},
>> moredelim=[is][\scshape]{<class>}{</class>},
>> morekeywords={true,false,nil,self,super,thisContext},
>> identifierstyle=\idstyle,
>> }
>>
>>
>> \makeatletter
>> \newcommand*\idstyle[1]{%
>> \expandafter\id@style\the\lst@token{#1}\relax%
>> }
>> \def\id@style#1#2\relax{%
>> \ifnum\pdfstrcmp{#1}{\#}=0%
>> % this is a symbol
>> \mySymbolStyle{\the\lst@token}%
>> \else%
>> \edef\tempa{\uccode`#1}%
>> \edef\tempb{`#1}%
>> \ifnum\tempa=\tempb%
>> % this is a global
>> \myGlobalStyle{\the\lst@token}%
>> \else%
>> \the\lst@token%
>> \fi%
>> \fi%
>> }
>> \makeatother
>>
>>
>> \lstset{literate=%
>> *{0}{{{\myNumberStyle{0}}}}1
>> {1}{{{\myNumberStyle{1}}}}1
>> {2}{{{\myNumberStyle{2}}}}1
>> {3}{{{\myNumberStyle{3}}}}1
>> {4}{{{\myNumberStyle{4}}}}1
>> {5}{{{\myNumberStyle{5}}}}1
>> {6}{{{\myNumberStyle{6}}}}1
>> {7}{{{\myNumberStyle{7}}}}1
>> {8}{{{\myNumberStyle{8}}}}1
>> {9}{{{\myNumberStyle{9}}}}1
>> }
>>
>>
>> %\newcommand{\ct}{\lstinline[backgroundcolor=\color{white}]}
>> \newcommand{\needlines}[1]{\Needspace{#1\baselineskip}}
>> \newcommand{\lct}{\texttt}
>>
>>
>> \lstnewenvironment{code}{%
>> \lstset{%
>> % frame=lines,
>> frame=single,
>> framerule=0pt,
>> mathescape=false
>> }
>> }{}
>>
>>
>> \newenvironment{codeNonSmalltalk}
>> {\begin{alltt}\sffamily}
>> {\end{alltt}\normalsize}
>>
>>
>>
>>
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> Lic. Javier Pimás
> Ciudad de Buenos Aires
>
--
Mariano
http://marianopeck.wordpress.com