[Insight-users] Writing Code in LaTeX in Insight Journal Papers
Nicholas Tustison
ntustison at gmail.com
Mon Jan 26 08:04:22 EST 2009
I agree with Luis's observation about Dan's use of the listings tex
package. In fact, my use of the package was a result of reading one
of Dan's earlier IJ papers. So I have nothing to add except a belated
"thank you" to Dan.
On Jan 26, 2009, at 7:26 AM, Dan Mueller wrote:
> Hi Insight Users,
>
> As per Luis' suggestion, please find below some instructions regarding
> use of the "listings" LaTeX package for including code in Insight
> Journal Papers.
>
> 1. The first step is to download the package:
> http://www.ctan.org/tex-archive/macros/latex/contrib/listings/
>
> I use the MiKTeX distribution on Windows, which has a package
> browser/installer. I'm not sure how it is works for other systems, so
> you're on your own getting the package set up and working.
>
> 2. Next you have to "use" the package in the preamble of your article:
> \usepackage{listings}
>
> 3. Now you have to include your code in the article. There are two
> options: "inline", or from a "source" file. I tend to use the source
> option the most.
>
> 3a. Using an "inline" listing:
>
> \begin{lstlisting}
> unsigned int lifeUniverseAndEverything = 42;
> \end{lstlisting}
>
> 3b. Using (part of) a raw "source" file:
>
> \begin{center}
> \lstinputlisting[linerange={2-10}]
> {../Examples/example1.cxx}
> \end{center}
>
> 4. The package provides heaps of options to make the code look
> "pretty" (i.e. code highlighting, line numbers, borders, background
> colour, etc). I tend to encapsulate these options by defining new
> command(s) in the article preamble:
>
> eg. for C++ code:
>
> \newcommand{\lstset at cpp}
> {
> \lstset{frame = tb,
> framerule = 0.25pt,
> float,
> fontadjust,
> backgroundcolor={\color{listlightgray}},
> basicstyle = {\ttfamily\footnotesize},
> keywordstyle = {\ttfamily\color{listkeyword}\textbf},
> identifierstyle = {\ttfamily},
> commentstyle = {\ttfamily\color{listcomment}\textit},
> stringstyle = {\ttfamily},
> showstringspaces = false,
> showtabs = false,
> numbers = left,
> numbersep = 6pt,
> numberstyle={\ttfamily\color{listnumbers}},
> tabsize = 2,
> language=[ANSI]C++,
> floatplacement=!h
> }
> }
>
> eg. for python
>
> \newcommand{\lstset at python}
> {
> \lstset{frame = tb,
> framerule = 0.25pt,
> float,
> fontadjust,
> backgroundcolor={\color{listlightgray}},
> basicstyle = {\ttfamily\footnotesize},
> keywordstyle = {\ttfamily\color{listkeyword}\textbf},
> identifierstyle = {\ttfamily},
> commentstyle = {\ttfamily\color{listcomment}\textit},
> stringstyle = {\ttfamily},
> showstringspaces = false,
> showtabs = false,
> numbers = left,
> numbersep = 6pt,
> numberstyle={\ttfamily\color{listnumbers}},
> tabsize = 2,
> language=Python,
> floatplacement=!h
> }
> }
>
> etc.
>
> These commands require the "color" package and some additional
> defines:
>
> \usepackage{color}
>
> \definecolor{listcomment}{rgb}{0.0,0.5,0.0}
> \definecolor{listkeyword}{rgb}{0.0,0.0,0.5}
> \definecolor{listnumbers}{gray}{0.65}
> \definecolor{listlightgray}{gray}{0.955}
> \definecolor{listwhite}{gray}{1.0}
>
> Now you simply call the desired command when needed.
>
> 4a. For "inline" listings
>
> \lstset at cpp % Add this to make "pretty" cpp code
> \begin{lstlisting}
> unsigned int lifeUniverseAndEverything = 42;
> \end{lstlisting}
>
> 4b. For "source" listings
>
> \begin{center}
> \lstset at cpp % Add this to make "pretty" cpp code
> \lstinputlisting[linerange={2-10}]
> {../Examples/example1.cxx}
> \end{center}
>
> Other supported languages include: C, Gnuplot, tcl, XML, Java,
> [Sharp]C, Matlab.
>
> Some of my other IJ articles have the LaTeX source included,
> <shamelessplug>so feel free to check them out</shamelessplug> for a
> full example:
> http://www.insight-journal.org/browse/publication/117
> http://www.insight-journal.org/browse/publication/151
>
> I notice Nick Tustison's papers also have "pretty" code, so he might
> have something to add?
> http://www.insight-journal.org/browse/publication/306
>
> Of course you can read all about the "listings" package here:
> http://www.ctan.org/get/macros/latex/contrib/listings/listings.pdf
>
> HTH
>
> Regards, Dan
>
> 2009/1/24 Luis Ibanez <luis.ibanez at kitware.com>:
>>
>> Hi Dan,
>>
>> We like very much the formatting of source code in your paper
>>
>> "Fast Marching Minimal Path Extraction in ITK"
>> http://www.insight-journal.org/download/viewpdf/213/6
>>
>> Could you please share with the mailing-list the method that
>> you are using to format this code for LaTeX ?
>>
>> It will be very useful to other Insight Journal contributors.
>>
>> We probably should add it to the guidelines of the Insight Journal
>> Wiki.
>>
>>
>> Thanks,
>>
>>
>> Luis
>>
>>
>> ---------------------
>>>>
>>>>
>>>> I'm trying to use your latex template to write my paper. I would
>>>> like to
>>>> add an example of the code to my paper. (For example, like in
>>>> page 4 of the
>>>> paper http://www.insight-journal.org/browse/publication/213).
>>>>
>>>>
>>>>
>>>> Can you please send me a .tex example on how to write the code in
>>>> the
>>>> format of the paper above (such an example does not appear in the
>>>> provided
>>>> template in the Insight Journal website)?
>>>>
>>>>
>>>>
>>>> Thank you,
>>>>
>>>>
>>>>
>>>> Lior Weizman
>>>>
>>>>
>>>>
>>>> System: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;
>>>> GTB5;
>>>> .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR
>>>> 3.0.4506.2152;
>>>> .NET CLR 3.5.30729)
>>>>
>>>
>>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
More information about the Insight-users
mailing list