diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/lineno/ulineno.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/lineno/ulineno.tex | 984 |
1 files changed, 0 insertions, 984 deletions
diff --git a/Master/texmf-dist/doc/latex/lineno/ulineno.tex b/Master/texmf-dist/doc/latex/lineno/ulineno.tex deleted file mode 100644 index 458a3366f2c..00000000000 --- a/Master/texmf-dist/doc/latex/lineno/ulineno.tex +++ /dev/null @@ -1,984 +0,0 @@ -% Copyright 1995--1999 Stephan I. B"ottcher <stephan@nevis1.columbia.edu> -% -% This program can be redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt; either -% version 1 of the License, or any later version. -% -% $Id: ulineno.tex,v 3.1 2001/08/03 03:29:19 stephan Exp $ -% -% 1999-06-11 SiB: updated for lineno.sty v3.00 - -\documentclass[12pt,a4paper,titlepage]{article} - - \date{\def\$##1: ##2 ##3${##2}%$ - Version - \$Revision: 3.1 $, - \$Date: 2001/08/03 03:29:19 $ - } - \def\lineno.sty{\texttt{\itshape lineno.sty}} - - -\title{ \lineno.sty -\\ Users Manual -} -\author{ Stephan I. B\"ottcher -} - -\usepackage{lineno} -\usepackage{url} - -\def~{\verb~} -\catcode`\<\catcode`\~ -\def<#1>{$\langle${\itshape#1}\/$\rangle$} -\catcode`\|\catcode`\~ -\def|#1{{\ttfamily\string#1}} -\def\NL{<number>]} - -\begin{document} -\begin{runninglinenumbers} -\renewcommand\linenumberfont{\normalfont\small\bfseries} -\setlength\linenumbersep{1cm} -\maketitle -\thispagestyle{empty} -\resetlinenumber -\tableofcontents -\clearpage -\setcounter{page}{1} -\pagewiselinenumbers - -\section{When to use \lineno.sty} - -The primary use of \lineno.sty is to get line numbers in your LaTeX -document. \lineno.sty directly supports line numbers in various -modes, and if you have any wishes that are not directly supported, -chances are good that \lineno.sty can be adapted to do it. And if it -turns out to be difficult with \lineno.sty, then it will be even more -difficult without. - -There is one class of cases however, where \lineno.sty is not the most -appropriate tool. When your text already comes in lines, like source -listings, tables, poetry, then \lineno.sty will propably do the job, -but other tools could do it much more efficiently. - -\lineno.sty can only number lines in the main text. Lines in any kind -of boxes cannot be numbered. But see section \ref{sec:ilineno} below. - -\lineno.sty is especially useful when the text is broken into lines by -\TeX\ itself. In this case, the task to attach line numbers is not -easy, and a tool like \lineno.sty has good chances to break when used -together with other packages. - -On the other hand, \lineno.sty proved to be quite stable, and I did -not get any reports of complete failure yet. - -With \lineno.sty, you can refer to the line numbers via \LaTeX s -~\ref~ and ~\pageref~ macros. - -There are other applications, not directly related to line numbering. -Whenever you want to attach something to your text, after a paragraph -was broken into lines, across pagebreaks, lineno may do the job. - -\begin{bframe} - Say, you need a frame around some text, but the text should be able - to break across pages, \lineno.sty can be used to draw rules on both - margins, which can be completed at the top and bottom by some - special environment, see section\,\,\ref{sec:bframe}. -\end{bframe} - -There may be cases, where other packages do a better job, e.g., -\url{CTAN:macros/latex/contrib/supported/numline}. - - -\section{Where to get \lineno.sty} - -\lineno.sty is available on the \emph{Comprehensive TeX Archive - Network} (CTAN), e.g, \url{ftp:// ftp.tex.ac.uk/ tex-archive/ - macros/ latex/ contrib/ supported/ lineno/ lineno.sty}. - -The home of \lineno.sty is \url{http:// www.nevis.columbia.edu/ - ~stephan/ tex/ #lineno}. Here you can get the latest version. - -\end{runninglinenumbers} - -\section{How to use \lineno.sty} - -As any other \LaTeXe\ package, you need to load it with -\begin{quote} - ~\usepackage[~<options>~]{lineno}~ -\end{quote} - -\subsection{Package options} - -The available <options> are: -\begin{description} - -\item[\texttt{[left]}:] Put the line numbers into the left margin - (default). - -\item[\texttt{[right]}:] Put the line numbers into the right margin. - -\item[\texttt{[switch]}:] Put the line numbers into the outer margin - (left on even numbered pager, right on odd numbered pages). - -\item[\texttt{[switch*]}:] Put the line numbers into the inner - margin. - -\item[\texttt{[pagewise]}:] Number the lines from 1 on each page. - -\item[\texttt{[running]}:] Continuously number the lines (default). - -\item[\texttt{[modulo]}:] Print line numbers only if they are - multiples of five. - -\item[\texttt{[mathlines]}:] When using the ~{linenomath}~ - environment for display math, put line numbers also on the lines of - the display. - -\item[\texttt{[displaymath]}:] Automatically wrap the standard LaTeX - display math environments in ~{linenomath}~. - - \begin{itshape} - Change from v2 to v3: ~[mathlines]~ was called ~[displaymath]~ - before, and ~[displaymath]~ was ~\usepacke{mlineno}~. - \end{itshape} - -\end{description} -All effects of these option can also be obtained by calling certain -macros later in the document, except for ~[displaymath]~. - -\subsection{How to turn on line numbering} - -The line numbering is not activated by default. If you want line -numbers, you have to turn it on. The simplest way is to say -\begin{quote} - ~\linenumbers~ -\end{quote} -This will turn on line numbers within the current group, according to -the currently selected mode. If you do it right at the beginning, the -whole document will be numbered. - -~\linenumbers~ takes effect only when a paragraph is finished. This -is important if you use ~\linenumbers~ for a single paragraph only. -This will \emph{not} work: -\begin{quote}\obeylines - ~\begingroup~\\% - ~\linenumbers~ - Text of your paragraph. - ~\endgroup~ -\end{quote} -because the ~\endgroup~ terminates the effect of ~\linenumbers~ before -the paragraph is finished. The solution is to insert an empty line, -or an explicit ~\par~ before the ~\endgroup~. - -The prefered solution is to use an enviroment: -\begin{quote}\obeylines - ~\begin{linenumbers}~ - Text of your paragraph. - ~\end{linenumbers}~ -\end{quote} -~\end{linenumbers}~ terminates the paragraph for you. It will also -make sure that the next paragraph is not indented, if there is no -empty line in between. - -This form will not finish any preceeding paragraph. If you do not -leave an empty line before ~\begin{linenumbers}~, the previous - paragraph may also get line numbers (this is not true after a list - environment). - -A quite esoteric form to number a single paragraph is: -\begin{quote}\obeylines - Text of your paragraph. - ~{\linenumbers\par}~ -\end{quote} -Here, the ~\linenumbers~ is turned on in a group that just executes -the ~\par~ to terminate the previous paragraph. Only this paragraph -will have line numbers. (~\par~ is exactly equivalent to an empty -line). - - -\subsection{How to turn off line numbering} - -You do not usualy turn of line numbering explicitly, but rather -restrict line numbering to a group or an environment. However, you -can turn it off with the command -\begin{quote} - ~\nolinenumbers~ -\end{quote} -This macro can also be used as an environment. The same restrictions -apply as for ~\linenumbers~. - - -\section{Numbering modes} - -Attaching line numbers after \TeX\ has broken the paragraph into lines -is already quite a difficult job for \TeX. Why? Because \TeX\ does -not normally give you any control after line breaking. \lineno.sty -does it by pretending that the current page ends after each and every -line. This keeps \TeX\ quite busy, but works. - -Often, you want the line numbers to depend on the page they finally end -up. E.g., you want the numbers to start with~ ~1 one each new page, -or you want them to appear on the outer margins in twoside mode. This -is an almost impossible demand, but \lineno.sty can do it, at some -cost, in terms of computing time, memory, and disk space. \lineno.sty -needs to write a note into the auxiliary file for each line in the -numbered part of the text, and \TeX\ keeps some memory for each page, -and all that takes some computation time to figure out on which page -the line was in the last \LaTeX\ run. - -Thus, there are two basic numbering modes -\begin{enumerate} - -\item \emph{Running} line numbers. The numbers run continuously along - the document, without considering page breaks. - - The line numbers can be reset, or preset at any point in the - document (except within a paragraph). Margin switching (or any - other dependence on the page breaks) is not possible. - -\item \emph{Pagewise} line numbers. The lines on each page are - numbered from one. Automatic margin switching is possible. - - \emph{Running} mode can be simulated in pagewise mode, to get - automatic margin switching with continuous line numbers, but without - the ability to reset/preset the line numbers anywhere in the - document. - - Any feature that depends on the page breaks must use this mode. - -\end{enumerate} - -\begin{runninglinenumbers*} - -\subsection{\emph{Running} line numbers} - -This is the default mode of operation. The lines of your text are -numbered continuously across page breaks. - -You cannot get automatic margin switching in this mode, because at the -time when the line numbers are attached, it is not yet decided on -which page the line will end up. However, you can simulate continuous -line numbers in \emph{pagewise} mode (see below), where margin -switching becomes possible. - -You get this mode by -\begin{itemize}\raggedright -\item \emph{not} specifying any of the package options - ~[switch,pagewise]~, -\item specifying the package option ~[running]~, -\item give the command ~\setrunninglinenumbers~ in the document, or -\item turn on line numbering with ~\runninglinenumbers~ or - ~\begin{runninglinenumbers}~. -\end{itemize} - -\subsubsection{Reseting or setting the line number} - -You can reset the line number with -\begin{quote} - ~\resetlinenumber[~<number>~]~ -\end{quote} -where the default is to reset the line number to one. - -Alternatively, you can give the line number in an optional argument to -any command that turns on the line numbering in this mode: -\begin{quote}\obeylines - ~\linenumbers[~<number>~]~ - ~\runninglinenumbers[~<number>~]~ - ~\begin{linenumbers}[~<number>~]~ - ~\begin{runninglinenumbers}[~<number>~]~ -\end{quote} -or reset the line number to 1 with any of the following: -\begin{quote}\obeylines - ~\linenumbers*~ - ~\runninglinenumbers*~ - ~\begin{linenumbers*}~ - ~\begin{linenumbers}*~ - ~\begin{runninglinenumbers*}~ - ~\begin{runninglinenumbers}*~ -\end{quote} -This section of the manual is enclosed in -\begin{quote}\obeylines - ~\begin{runninglinenumbers*}~ - ~\end{runninglinenumbers*}~ -\end{quote} -\end{runninglinenumbers*} - - -\begin{pagewiselinenumbers} - -\subsection{\emph{Pagewise} line numbers} - -Basically, this mode prints line numbers starting with 1 on top of -each page, counting only lines where this mode is active. If you -turn on this mode in the middle of a page, the numbers start with 1 -at that point. - -The \emph{pagewise} mode of operation is quite a bit more work for -\TeX. When the line numbers are printed, \TeX\ does not know on which -page the current line will go. To get \emph{pagewise} mode working, -\LaTeX\ has to remember on which page the line went in a previous run. -This information is written into the ~.aux~ file, and like a table of -contents, you will not see the numbers until you run \LaTeX\ at least -twice on the document. Sometimes the information in the ~.aux~ file -becomes invalid in a way that causes \lineno.sty to hang. In such a -case you'll have to delete all ~.aux~ files of the document to get it -going again. - -You get this mode by -\begin{itemize}\raggedright -\item specifying the package option - ~[pagewise]~, but not ~[running]~, -\item give the command ~\setpagewiselinenumbers~ in the document, or -\item turn on line numbering with ~\pagewiselinenumbers~ or - ~\begin{pagewiselinenumbers}~. -\end{itemize} - -You cannot reset or preset the line numbers in \emph{pagewise} mode. -This mode uses a different counter than \emph{running} mode. You can -switch between the mode, and the \emph{running} numbers will continue -where they left of, unless you reset the counter. - -\subsubsection{Margin switching} - -As a side effect of all the business to find out on which page the lines -end up, margin switching becomes possible. It is now possible to -print the line number differently on odd and even pages. The command -\begin{quote} - ~\switchlinenumbers~ -\end{quote} -will cause the line numbers to be printed on the outer margins, on the -right side for odd pages, and on the left side for even numbered -pages. If you add a star, the numbers go on the inner margins -\begin{quote} - ~\switchlinenumbers*~ -\end{quote} -You can achieve the same effect by specifying the package -option ~[switch]~ or ~[switch*]~ together with ~[pagewise]~. - -Margin switching is independent of any ~[twoside]~ option of the -document class. - -\subsubsection{\emph{Running} mode with margin switching} - -Margin switching is not possible in \emph{running} mode, but you can -abuse the pagewise mode to produce continuous line numbers. This mode -is activated with the command -\begin{quote} - ~\runningpagewiselinenumbers~ -\end{quote} -It is not possible to reset the line number counter for this mode, the -lines will be numbered starting from one at the beginning of the -document, and continue. You can switch back to real pagewise mode with -\begin{quote} - ~\realpagewiselinenumbers~ -\end{quote} -but when you resume \emph{running-pagewise}, the numbers will not -continue where they left off, but jump by the number of lines that -were numbered \emph{real-pagewise}. - -The package options ~[switch]~ and ~[switch*]~ will turn on -\emph{running pagewise} mode with margin switching, unless you also -specify ~[pagewise]~. - -Finally, if you give these options together with ~[running]~, like -\begin{quote} - ~\usepackage[switch,pagewise,running]{lineno}~ -\end{quote} -the mode is set to plain \emph{running} line numbers, but later in -your document, if you say ~\pagewiselinenumbers~, the setings of the -~[switch]~ and ~[pagewise]~ options will take effect. - -\subsubsection{Page numbers} - -Any pages that contain \emph{pagewise} numbered lines must have a -different page number. This may cause trouble with titlepages or -simmilar fudging with the page number counter in the document. (I am -talking about ~\c@page~ or ~\count 0~ here, not ~\thepage~). - -If you get strange errors, like \emph{``the use of} ~\nextLN~ -\emph{does not match its definition''}, you should first delete all -~.aux~ files, and rerun \LaTeX\ several times. If the error does not -reappear, fine, else check your page numbers, including those that are -not printed. You may use \emph{running} line numbers on your -titlepages, since the page boundaries are predefined, usually. - -\end{pagewiselinenumbers} - -\begin{linenumbers*} - -\subsection{Margin selection} - -In any mode you can select a fixed margin on which the numbers shall -be printed. You can either give a package option ~[left]~ or -~[right]~, or change the margin within the document with -\begin{quote}\obeylines - ~\leftlinenumbers~ -\rightlinenumbers - ~\rightlinenumbers~ -\end{quote} -\rightlinenumbers -Neither of these commands actually turns on line numbering. The -margin setting is changed for the currently selected mode -\emph{running} or \emph{pagewise}. If you want to set the margin for -both modes, append a star -\begin{quote}\obeylines - ~\leftlinenumbers*~ - ~\rightlinenumbers*~ -\end{quote} -The default is ~\leftlinenumbers*~. - -\end{linenumbers*} - - -\subsection{Summary of mode selection commands} - -The following commands change the major line numbering mode. -\begin{description}\itemsep=0pt\parskip=0pt -\item [|\setrunninglinenumbers] -\item [|\setpagewiselinenumbers] \leavevmode\\ - set the current mode, without activating or deactivating line - numbering. -\item [|\runninglinenumbers\texttt{*[\NL}] -\item [|\pagewiselinenumbers] \leavevmode\\ - set the current mode and activate line numbering, optionally reset - (~*~), or set the line number for \emph{running} mode. -\end{description} -The following commands do not change the major mode, but modify the -the behaviour of \emph{pagewise} mode -\begin{description}\itemsep=0pt\parskip=0pt -\item [|\realpagewiselinenumbers] -\item [|\runningpagewiselinenumbers] \leavevmode\\ - select if \emph{pagewise} mode should number continuously, or really - pagewise. -\end{description} - - -\subsection{Summary of margin selection commands} - -The following command select into which margin the numbers should be -printed -\begin{description}\itemsep=0pt\parskip=0pt -\item [|\leftlinenumbers\texttt*] -\item [|\rightlinenumbers\texttt*] \leavevmode\\ - put the line numbers in the left/right margin in both modes. -\item [|\leftlinenumbers] -\item [|\rightlinenumbers] \leavevmode\\ - put the line number into the left/right margin in the currently - selected mode. -\item [|\switchlinenumbers] \leavevmode\\ - put the line numbers into the outer margin, when using - \emph{pagewise} mode. -\item [|\switchlinenumbers\texttt*] \leavevmode\\ - put the line numbers into the inner margin, when using - \emph{pagewise} mode. -\end{description} - -\begin{linenumbers*} -\modulolinenumbers[2] - -\subsection{Numbering only one in five lines} - -You can ask lineno to print the line numbers only if they devide by -<n>, by saying -\begin{quote} - ~\modulolinenumbers[~<n>~]~ -\end{quote} -If you omit the optional argument, it will be every fifth line, or -whatever you used last (the current value of the counter -~linenumbermodulo~). You get the same effect by giving the package -option ~[modulo]~. - -If you set <n> to 1, the modulo value is not changed, but modulo -numbering is turned off. - -Changing the counter ~linenumbermodulo~ does not turn on modulo -numbering, it just changes the modulo, if it is turned on without the -optional argument. - -This section of the manual is enclosed in -\begin{quote} - ~\begin{linenumbers*}~ \\ - ~\modulolinenumbers[2]~ - - ~\end{linenumbers*}~ -\end{quote} - -\end{linenumbers*} - -\begin{pagewiselinenumbers} -\switchlinenumbers - -\subsection{How the line numbers look like} - -This section of the manual is enclosed in -\begin{quote} - ~\begin{pagewiselinenumbers}~ \\ - ~\switchlinenumbers~ - - ~\end{pagewiselinenumbers}~ -\end{quote} -By default, the line numbers are set in -\begin{quote} - ~\normalfont\tiny\sffamily~ -\end{quote} -right justified to 10\,pt left of the nominal left edge of the text. -If the number is to appear on the right margin, it is right justified -to 20\,pt right of the nominal right edge of the text. - -You can easily change that, of course. The font is defined by the -macro -\begin{quote} - ~\linenumberfont~ -\end{quote} -You can redefine it to make the numbers appear in a differnt font -(with ~\renewcommand~). I'll say right here in this manual -\renewcommand\linenumberfont{\normalfont\bfseries\small} -\begin{quote} - ~\renewcommand\linenumberfont{\normalfont\bfseries\small}~ -\end{quote} -The distance on the left margin can be changed with -\begin{quote} - ~\setlength\linenumbersep{~<distance>~}~ -\end{quote} -The distance on the right margin is ~\linenumbersep~ plus -~\linenumberwidth~, both are set to 10\,pt by default. -Let's do right here -\setlength\linenumberwidth{1cm} -\begin{quote} - ~\setlength\linenumbersep{1cm}~ -\end{quote} -I put the command at the end of the paragraph, but it effects the -whole paragraph, because that is where everything happens: at the end -of the paragraphs. - -The line numbers are printed as arabic numerals, as defined in the -macro -\begin{quote} - ~\thelinenumber~ -\end{quote} -for the \LaTeX\ counter ~{linenumber}~. You can redefine that, as -for any other \LaTeX\ counter. E.g., -\renewcommand\thelinenumber{\roman{linenumber}} -\begin{quote} - ~\renewcommand\thelinenumber{\roman{linenumber}}~ -\end{quote} -(For heavy duty line numbering, you should use \LaTeX s internal -format, e.g., ~\@roman\c@linenumber~.) - -\subsubsection{Deeper customization} - -The line number is attached to the line by the macro -\begin{quote} - ~\makeLineNumber~ -\end{quote} -which is expanded inside a zero width ~\hbox~ alligned to the -origin of the current line (left edge, baselines alligned). You can -do anything in this macro. Let's assume you do not want line numbers -at all, but just attach something else to each line of text: this is -the macro to modify. You can refer to the line number by the macro -~\LineNumber~, which prints the current value of the counter -~{linenumber}~, or nothing if \emph{modulo} mode is active, and the -number does not divide by ~{linenumbermodulo}~. You should not modify -this macro when using any form of \emph{pagewise} mode. At the end of -this paragraph I put the following -\begin{runninglinenumbers} -\renewcommand\makeLineNumber - {\hss$\rightarrow$\ \rlap{\hskip\textwidth\ $\leftarrow$}} -\end{runninglinenumbers} -\begin{quote} - ~\begin{runninglinenumbers}~\\ - ~\renewcommand\makeLineNumber~\\ - ~ {\hss$\rightarrow$\ \rlap{\hskip\textwidth\ $\leftarrow$}}~\\ - ~\end{runninglinenumbers}~ -\end{quote} - -Redefining ~\makeLineNumber~ cuts deep into the linenumber mode -setting. If you still want to use the basic modes \emph{running} and -\emph{pagewise} you should go one level up and modify one of the -following macros, which are called by (or assigned to) -~\makeLineNumber~ depending on the current mode, and with the counter -~{linenumber}~ allready adjusted for the current page when using -\emph{pagewise} mode. -\begin{quote}\obeylines - ~\makeLineNumberRunning~ - ~\makeLineNumberOdd~ - ~\makeLineNumberEven~ -\end{quote} -The first is used in \emph{running} mode, the other two in -\emph{pagewise} mode. If you modify those, you cut into the -margin selection mechanism as advertised above. You will have to call -a mode selection command after changing these macros, to make them take -effect (at least for ~\makeLineNumberRunning~). - -You can go up one more step. The margin selection commands redefine -the above macros by making them equivalent (~\let~) to one of the -following macros -\begin{quote}\obeylines - ~\makeLineNumberLeft~ - ~\makeLineNumberRight~ -\end{quote} -You may redefine these, and afterwards issue a margin selection -command followed by a mode selection command. The default definitions -are -\begin{quote} - ~\def\makeLineNumberLeft~\\ - ~ {\hss\linenumberfont\LineNumber\hskip\linenumbersep}~ -\end{quote} -and -\begin{quote} - ~\def\makeLineNumberRight~\\ - ~ {\linenumberfont\hskip\linenumbersep\hskip\textwidth~\\ - ~ \hbox to\linenumberwidth{\hss\LineNumber}\hss}~ -\end{quote} -Whatever you do, use ~\LineNumber~ to print the digits. This ensures -that the modulo mode setting is acknowledged. If you want to -customize that as well, this is the macro to change. ~\LineNumber~ -eventually refers to ~\thelinenumber~, which is the place to customize -the numerals themselves. At the end of this paragraph I said -\renewcommand\LineNumber{\ifodd\value{linenumber} \thelinenumber)\fi} -\begin{quote} - ~\renewcommand\LineNumber~\\ - ~ {\ifodd\value{linenumber} \thelinenumber)\fi}~ -\end{quote} -Line number references are not affected by ~\LineNumber~, but you -should keep track of ~\thelinenumber~. Look at the following -reference -\begin{quote} - The setion title of the next section is on page \pageref{ll1}, line - \ref{ll1}. -\end{quote} -There is a mismatch in the definition of ~\thelinenumber~, from the -point of the refered line to the reference here. -\end{pagewiselinenumbers} - -\begin{pagewiselinenumbers} - -\section[Line number references] - {Line number references\linelabel{ll1}} - -\lineno.sty allows to refer to a line number with ~\ref{~<label>~}~. -The label is set by ~\linelabel{~<label>~}~, anywhere in a paragraph -that gets line numbers. If you put a ~\linelabel~ somewhere else, the -line number it refers to is pretty meaningless, but no error message -is issued. (This section begins on line \ref{ll1}, page -\pageref{ll1} and ends on line \ref{ll2}, page \pageref{ll2}.) - -References work both in \emph{running} and \emph{pagewise} modes. -However, you have to be very careful when using both \emph{real - pagewise} mode and \emph{running pagewise} mode: The mode setting -must be the same during reference as during labeling. - -The restrictions on placing a ~\linelabel~ are the same as for a -~\marginpar~. (In fact, they are implemented as fake ~\marginpar~s.) -E.g., the linelabel on the section header of this chapter could not be -placed in the straight forward way, because it would cause an error in -the table of contents. (It should be disabled during \emph{toc} -processing.) Instead, I typed -\begin{quote} - ~\section[Line number references]~\\ - ~ {Line number references\linelabel{ll1}}~ -\end{quote} -This works fine, with the standard \LaTeX\ ~{article}~ document -style. If more generic markup is required, you should avoid things -like this (you should avoid \lineno.sty altogether, in that case). - -~\linelabel~ does not work in display math. (Why, you do not use -equation numbers?) - -The ~\linelabel~ command starts a new paragraph if it is issued after -an empty line. It will properly ignore further whitespace before the -first word of text. Thus you can easily get a label to the first line -of a paragraph. - -Furthermore, ~\linelabel~ uses \LaTeX s standart tricks to avoid -unnecessary spaces if you place is between two words with spaces -around, but you should not do that anyway, if you want to make sure -that the label applies to a certain word in the text. You should -attach the line label to the word in question without intervening -spaces, either before of after the word. If you leave spaces both -before and after the ~\linelabel~ command, the current implemenation -attaches the line label to the following word (by ignoring the -trailing space). - -Special care should be taken at the end of a paragraph. You better -put the line label without intervening spaces behind the period, like -this -\begin{quote} - ~This is the end of this section.%~\\ - ~\linelabel{ll2}~ -\end{quote} -This is the end of this section.% -\linelabel{ll2} - -\end{pagewiselinenumbers} - -\begin{linenumbers*} - - -\section{Known incompatibilities} - -This section will expand whenever somebody discovers problems when -using \lineno.sty together with other \LaTeX\ packages. - -\subsection{\texttt{wrapfig.sty}} - -\lineno.sty used to have problems with \texttt{wrapfig.sty}, but this -is solved but \lineno.sty, version 2.05. - - -\section{Extension packages} - -The extension packages were abolished with version v3.00 of -\lineno.sty. One package, ~itemrule.sty~, was dropped, the others -were put directly into the the main \lineno.sty package file. - -\subsection{Display math, \texttt{\itshape mlineno}} - -\lineno.sty does not work well with display math. The parts of a -paragraph preceeding a display math will not get line numbers. The -reason is that the paragraph is not finished, but the part above the -display is broken into lines anyway. - -Let me demonstrate the effect. This paragraph contains a -~{displaymath}~ environment. The part before the Formula does not get -line numbers. Here comes the Formula -\begin{displaymath} - \mathrm{6\,H_2O + 6\,CO_2 \ \rightarrow\ C_6H_{12}O_6 + 6\,O_2} -\end{displaymath} -which makes the line numbers disappear. The trailing part of the -paragraph does get line numbers. - -There are several means to solve the problem, but none of them is -fully satisfactory. \lineno.sty defines a ~{linenomath}~ environment, -which can be wrapped around a display math to make the line numbering -work. This will work with any kind of display math, even if you use -explicit ~$$~ pairs. There is a ~*~-form ~{linenomath*}~ which also -numbers the lines of the display itself, as good as it can. Here -comes an example use of ~{linenomath*}~ -\begin{linenomath*} -\begin{eqnarray*} - b_1 &=& a_{11}x_1 + a_{12}x_2 \\ - b_2 &=& a_{21}x_1 + a_{22}x_2 -\end{eqnarray*} -\end{linenomath*} -wrapping an ~{egnarray*}~ like this -\begin{quote} - ~\begin{linenomath*}~\\ - ~ \begin{eqnarray*}~\\ - ~ b_1 &=& a_{11}x_1 + a_{12}x_2 \\~\\ - ~ b_2 &=& a_{21}x_1 + a_{22}x_2~\\ - ~ \end{eqnarray*}~\\ - ~\end{linenomath*}~ -\end{quote} -Specifying the package option ~[mathlines]~, causes the -~{linenomath}~ environment to switch its function with its *-form. -This allows you to later decide if you want the numbers on the formulas -or not, without putting in stars everywhere (as long as you have been -consistent). - -The ~{linenomath}~ wrapper does nothing if line numbering is not -activated. You do not need to remove them if you decide to omit the -line numbering later (although you still have to load \lineno.sty). - -The \texttt{\itshape mlineno} extension redefines the standard \LaTeX\ -display math environments to wrap themselves automatically into -~{linenomath}~: -\begin{quote}\obeylines - ~\[~ ~\]~ - ~{displaymath}~ - ~{equation}~ - ~{eqnarray}~ - ~{eqnarray*}~ -\end{quote} -As of version 3.00 you can activate this by the package option -~[displaymath]~. You can keep existing explicit ~{linenomath}~ -wrappers without harm. - -This will probably not work with AMSmath. - -Other solutions to make \lineno.sty work with display math are either -ugly or less stable. The ugly possibility is to precede every display -math with an empty line, or better with -\begin{quote} - ~{\par\nobreak\noindent}~ -\end{quote} -but this gains you nothing compared to using the ~{linenomath}~ -environment, since you still have to modify your document. - -\end{linenumbers*} - - -\subsection{\texttt{\itshape rlineno}} - -\begin{runninglinenumbers} -It is currently not possible to put a ~\linelabel~ into math mode. -This should not impose problems with inline math, since you can attach -the label just outside the math shift, like\linelabel{rll1} -\begin{quote} - ~... \linelabel{~<label>~}$x=f(y)$ ...~ -\end{quote} -but to refer to a line in display math, you cannot label it directly. -\end{runninglinenumbers} - -\begin{pagewiselinenumbers} -The extension \texttt{\itshape rlineno} offers a solution, -allowing to refer to a line number with an offset. - -This extension is now available with plain \lineno.sty v3.00. - -You put the ~\linelabel~ at the end of the preceeding line, and refer -to that number, plus 1 or, in case of multiline displays, by any other -offset.\linelabel{rll2} -\begin{quote} - ~...\linelabel{~<label>~}~ \\ - ~\begin{equation}~ \\ - ~ y=f'(x)~ \\ - ~\end{equation}~ \\ - ~... the formula in line \lineref[+1]{~<label>~}~ -\end{quote} -The offset calculation is different for pagewise or running line -numbers, and you will have to make sure the right method is used. -\end{pagewiselinenumbers} - -The macro ~\lineref[~<offset>~]{~<label>~}~ uses the method of the -currently selected mode (line numbering need not be activated). To -specify the mode explicitly, use ~\linerefr~ or ~\linerefp~ for -running or pagewise mode respectively. - -For example, the manual sets a ~\linelabel{rll1}~ at the end of the -line preceeding the single line quote environment at -line\,\linerefr[+1]{rll1} in the first paragraph of this chapter, and -refered to it via -\begin{quote} - ~\linerefr[+1]{rll1}~ -\end{quote} -and another one preceeding the quote environment in the second -paragraph of this chapter, with the central line -numbered\,\linerefp[+3]{rll2}, which I just refered to via -\begin{quote} - ~\linerefp[+3]{rll2}~ -\end{quote} -\begin{runninglinenumbers} -If the correct mode is selected (e.g., ~\setrunninglinenumbers~), -you can use ~\lineref[+1]{rll1}~ to refer to -line\,\lineref[+1]{rll1}. -\end{runninglinenumbers} - - -\subsection{\texttt{\itshape numquote}} - -This extension defines two environments, each of them with a *-form or -alternatively an optional argument. -\begin{quote}\obeylines - ~\begin{numquote}~ - ~\end{numquote}~ -\end{quote} -is like ~{quote}~, -\begin{quote}\obeylines - ~\begin{numquotation}~ - ~\end{numquotation}~ -\end{quote} -is like ~{quotation}~, but with the lines numbered. Numbering -restarts with 1 each time it is used, except you use the *-form, or -specify the line number to start with in an optional argument. -\begin{numquote} -The line numbers set to the left of the text, indented by the same -amount as the quote or quotation. This works as expected even if the -quote appears in a nested list. -\end{numquote} -To customize the distance from the text or the shape of the -numbers, you can modify the macros ~\quotelinenumbersep~ and -~\quotelinenumberfont~ respectively. - -As of version 3.00, this is available directly with \lineno.sty. - -\clearpage - -\subsection{\texttt{\itshape ilineno}} -\label{sec:ilineno} - -\begin{center} -\noindent\fbox{\parbox{0.8\textwidth}{ - \internallinenumbers \resetlinenumber[13] - Sometimes you need line numbers within a |\parbox\ or figure. This - extension can do that, if the text is simple enough. It works by - drawing a ladder of numbers next to the paragraph, each number - vertically separated by |\baselineskip\ from the other. This - obviously dose not work nicely with anything but straight text. - Extra high lines (like this: $\displaystyle x=\frac AB$) will - disturb the alignment. The power of \lineno.sty is not necessary to - achieve this, but you may need both in one document with a somewhat - coherent interface, and some of the necessary infrastructure from - \lineno.sty is actually useful. -}}\end{center} -% Why is the v-spacing wrong here? - -The preceding paragraph was set like this: -\begin{quote} - ~\begin{center}\fbox{\parbox{0.8\textwidth}{~ \\ - ~\internallinenumbers~ \\ - ~\resetlinenumber[13]~ \\ - ~ ~ Sometimes you need \dots \\ - ~}}\end{center}~ -\end{quote} - -\subsection{\texttt{\itshape itemrule.sty}} - -Somebody asked me if he can get a rule next to an itemized item, from -the bullet downwards. This style did that. It was unstable and of -little interest, so it is gone from the \lineno.sty distribution. - -\subsection{\texttt{\itshape bframe}} -\label{sec:bframe} - -\setlength\bframesep{10pt} -\begin{bframe} -\lineno.sty can be used for unexpected purposes. The environment -\begin{quote}\obeylines - ~\begin{bframe}~ - ~\end{bframe}~ -\end{quote} -draws boxes around some text, even across page breaks. At a page -break, the box is open (it is difficult to fix that). There are two -parameters: -\begin{description}\itemsep=0pt\parskip=0pt -\item [|\bframesep] \leavevmode\\ - defines the separation of the box from the text. -\item [|\bframerule] \leavevmode\\ - defines the thickness of the lines around the text. -\end{description} - -It works by asking \lineno.sty to draw small rules left and right to -the lines. The total height of the rules is ~\baselineskip~ plus -~\bframesep~. This leaves some extra space for extra high lines. - -The current version is very preliminary. In a future version there -may be a possibility to move the vertical lines inwards for indented -text. The box may optionally be closed at page breaks. It will not -likely be possible to have a colored background in the box, at least -not with a graphics driver that cannot put a background behind -existing foreground (Postscript cannot, I've been told). Tell me how -to make a gray background, like block dots on transparent, and I can -do shaded boxes. - -\end{bframe} - -\section{How to print the documented source} - -\begin{bframe} -\lineno.sty is written in three programming languages: \TeX, sh, -and awk. - -The file can be loaded as a \LaTeXe\ package as it is. However, if -you feed it into a Unix shell, like -\begin{quote} - ~csh> source ./lineno.sty~ -\end{quote} -it will produce the files ~lineno.tex~ and ~lineno.dvi~, which is the -documented source of \lineno.sty. If you want to learn how it works, -or you need to adapt \lineno.sty for some special requirements, you -should read that document. -\end{bframe} - -\end{document} |