#LyX 1.5.0svn created this file. For more info see http://www.lyx.org/ \lyxformat 276 \begin_document \begin_header \textclass article \begin_preamble \usepackage{a4wide} \end_preamble \language english \inputencoding auto \font_roman default \font_sans default \font_typewriter default \font_default_family default \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \float_placement H \paperfontsize default \spacing single \papersize default \use_geometry false \use_amsmath 1 \use_esint 0 \cite_engine basic \use_bibtopic false \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \author "Bo Peng" \end_header \begin_body \begin_layout Section Three types of listings \end_layout \begin_layout Standard There are three types of listings, in listings package terms: \end_layout \begin_layout Description lstinline short piece of program code like \begin_inset listings lstparams "language=C++,basicstyle=\ttfamily,showspaces=true" inline true status open \begin_layout Standard \color foreground int a=5; \end_layout \end_inset \end_layout \begin_layout Description lstlisting long program listing in its own paragraphs and decorations, For example, \begin_inset listings lstparams "language=Python,numbers=left,numberstyle=\tiny,basicstyle=\ttfamily,numbersep=5pt" inline false status open \begin_layout Standard \color foreground def func(param): \end_layout \begin_layout Standard 'this is a python function' \end_layout \begin_layout Standard pass \end_layout \end_inset \end_layout \begin_layout Description lstinputlisting read program listing from a file. Parameters can be given to list only given lines. For example, the following listings list line 10 - 15 of this lyx file. \end_layout \begin_layout Standard \begin_inset Include \lstinputlisting{listings.lyx}[firstline=10,lastline=15,language=TeX,breaklines=true,caption={Line 10 - 15 of this listings.lyx file}] preview false \end_inset \end_layout \begin_layout Section How to enter listings \end_layout \begin_layout Standard Inline and normal listings are entered through listings inset (introduced by lyx 1.5.0). To insert a program listing, choose \family typewriter Insert->Program Listing \family default . inline listing is selected by choosing \family typewriter inline listing \family default in the \family typewriter placement \family default section. \end_layout \begin_layout Standard File listing is inserted using \family typewriter Insert->File->Child Document \family default , and choose \family typewriter listings \family default from the type combo box. \end_layout \begin_layout Section Listings parameters \end_layout \begin_layout Standard The listings package is a very powerful latex packaging, providing more than 130 parameters that customize the look of your program listings. Lyx provides direct support for a few most commonly used parameters through the listings dialog, and an \family typewriter advanced \family default edit box to enter all other parameters. \end_layout \begin_layout Subsection Global listings options \end_layout \begin_layout Standard It is likely that your document will have several listings of the same type so it makes sense to customize all of them using global listings options. To enter these options, choose \family typewriter Document -> Settings -> Text Layouts \family default and enter listings parameters in the given edit box. The editbox to the left of the input box can provide valuable information such as allowed values of a parameter but you may still need to consult the listings manual for the meanings of the parameters. \end_layout \begin_layout Standard Parameters set via this dialog will output as \family typewriter \backslash lstset \family default in latex preamble. \end_layout \begin_layout Subsection Parameters of the listings inset \end_layout \begin_layout Standard If you right-click a listings inset, a listings dialog will be shown that allows you to customize your listings. The most commonly used parameters are displayed on the first tab, including placement, language, numbering and basic style of the code. More advanced options can be entered at the second \family typewriter advanced \family default tab. \end_layout \begin_layout Subsection Parameters of listings child document \end_layout \begin_layout Standard The child document dialog provides less support for commonly used listings parameters so you will have to enter them manually. \end_layout \begin_layout Subsection Caption and label \end_layout \begin_layout Standard Parameters \family typewriter caption={blah} \family default and \family typewriter label={blah} \family default are handled separately from other listings parameters. In the \family typewriter Child Document \family default dialog, caption ad label should be entered in the given caption and label edit boxes. In a listing inset, you can insert caption through \family typewriter insert -> caption \family default , and \family typewriter insert->label \family default in the caption. Explicit \family typewriter caption \family default and \family typewriter label \family default parameters entered through the \family typewriter advanced \family default edit box are allowed, but if both \family typewriter insert->caption \family default and parameter \family typewriter caption={blah} \family default are entered, the latter will be ignored. \end_layout \end_body \end_document