Documentation update.
[pylit.git] / doc / examples / listings-tex-options.sty.txt
bloba631f40041352321225d80418d867f23528dba4c
1 listings-tex-options.sty
2 ************************
3 highlight LaTeX code with lstlistings
4 =====================================
6 :Author:    Günter Milde
7 :Contact:   milde@users.berlios.de
8 :Revision:  $Revision: 5534 $
9 :Date:      $Date: 2005-06-28$
10 :Copyright: © 2007, 2009 G. Milde,
11             Released  without warranties or conditions of any kind
12             under the terms of the Apache License, Version 2.0
13             http://www.apache.org/licenses/LICENSE-2.0
15 Usage
16 -----
18 For syntax highlight of literal blocks with the `listings` LaTeX package,
19 call ``rst2latex.py`` with the options
20 ``--stylesheet=listings-tex-options.sty --literal-block-env=lstlisting``.
22 Adapt the settings to your needs by either
24 * modifying a copy of this file under a different name, or
25 * copy parts of this file into your custom style sheet.
27 See listings.pdf_ for configuration and usage of the listings package.
29 Implementation
30 --------------
32 .. highlight:: latex
34 Identification::
36   \ProvidesPackage{listings-tex-options}
37   [2009/03/02 v0.1 highlight LaTeX with lstlistings]
38   
39 Of course, we need to load the listings package itself::
41   \RequirePackage{listings}
42   
43 In a document with lots of lists and listings, separating paragraphs by
44 vertical seems appropriate::
46   \RequirePackage{parskip}
47   
48 load hyperref with blue citation colour::
50   \RequirePackage[colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=blue]
51   {hyperref}
52   
53 In the References/Bibliography section,
54 avoid holes in the title due to block alignment::
56   \renewcommand{\titlereference}[1]{\raggedright\textsl{#1}}
57   
58 Omit the auto-inserted "References" heading, to be compatible with HTML
59 output also if use latex references is set::
61   \AtBeginDocument{\renewcommand{\refname}{\vspace{-2em}}}
62   
63 Font settings
64 ~~~~~~~~~~~~~
66 Times, Helvetica, Courier::
68   %\RequirePackage{mathptmx}
69   %\RequirePackage[scaled=.90]{helvet}  % scaled to fit Times
70   %\RequirePackage{courier}
71   
72 Palatino, Helvetica, Courier::
74   \RequirePackage[sc]{mathpazo}         % with small caps
75   % \RequirePackage[sc,osf]{mathpazo}   % with small caps and old style figures
76   \RequirePackage[scaled=.95]{helvet}   % scaled to fit Palatino
77   \RequirePackage{courier}
78   
79 (The TX typewriter font comes with bold, slanted, and small-caps variants
80 and without the problems of `txfonts`' math fonts). However, `txfonts` is
81 a contributed package, not necessarily available::
83   %\renewcommand{\ttdefault}{txtt}
84   
85   
86 Default language
87 ~~~~~~~~~~~~~~~~
89 Highlight literal blocks as TeX::
91   \lstset{language=[LaTeX]TeX}
92   
93 pre-load the language::
95   \lstloadlanguages{[LaTeX]TeX} %  comma separated list of languages
96   
97 Style
98 ~~~~~
100 Typeface settings::
102   \lstset{
103     basicstyle=\ttfamily,           % print whole listing in tt
104     % basicstyle=\ttfamily\small,
105     keywordstyle={},                % do not highlight keywords
106     % identifierstyle=\slshape,     % macros that are not keywords, args
107     commentstyle=\rmfamily\itshape, % italic comments
108     % stringstyle=\ttfamily,        % typewriter type for strings
109     % texcsstyle=\slshape,
110   }
111   
112 Visible whitespace::
114   \lstset{showstringspaces=false}  % no visible spaces in strings
115   %\lstset{showspaces=true,
116   %        showtabs=true,
117   %        tab=\rightarrowfill}
118   
119 Line numbers::
121   %\lstset{numbers=left, numberstyle=\tiny, stepnumber=2, numbersep=5pt}
122   
123 Frames around listings::
125   %\lstset{frame=single}
126   
127   
128 Extended characters in listings::
130   %extendedchars=true
131   %extendedchars=false
132   
133 Column alignment
134 ~~~~~~~~~~~~~~~~
136 (for typesetting with variable width fonts)
138 ``columns=[c|l|r] <alignment>``
139   <alignment> in [fixed, flexible, spaceflexible, or fullflexible]
141   The optional c, l, or r controls the horizontal orientation of smallest
142   output units (keywords, identifiers, etc.).
144   default: [c]fixed
146 ``basewidth={fixed, flexible}``
147   ..
149   sets the width of a single character box for fixed and flexible column
150   mode (both to the same value or individually).
152   default: {0.6em,0.45em}
154 Free spacing for comments::
156   \lstset{columns=fullflexible, basewidth={0.5em,0.4em}}
157   
158 .. _listings.pdf:
159    ftp://dante.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf