| @ -0,0 +1,61 @@ | |||
| The repository includes a great configuration for shown listings in LaTeX with the option to show only a specific range of line numbers. | |||
| This is the code in LaTeX, do not forget to include the 'lst-config.tex' file in your folder: | |||
| ``` | |||
| \documentclass{book} | |||
| \input{lst-config} | |||
| \begin{document} | |||
| Here is a code example with showing only specific ranges: | |||
| \lstinputlisting[label=ls:figure, caption=Using the configuration., linerange={1-5, 18-23, 39},matchrangestart=t]{code.txt} | |||
| \end{document} | |||
| ``` | |||
| This is the source called in LaTeX exmaple: | |||
| ``` | |||
| \documentclass{article} | |||
| \usepackage{blindtext} | |||
| \usepackage{graphicx} | |||
| \begin{document} | |||
| \section{Introduction} | |||
| \label{sec:intro} | |||
| Now I'm using label command to create cross-references, e.g. in section \ref{sec:review} a literature review is presented, in section \ref{sec:method} the methodology is presented, and so on... | |||
| \section{Literature review} | |||
| \label{sec:review} | |||
| \blindtext[1] | |||
| \section{Methodology} | |||
| \label{sec:method} | |||
| In the Fig. \ref{fig:image-a} the methodology is presented. | |||
| \begin{figure}[!h] | |||
| \centering | |||
| \includegraphics[width=3in]{example-image-a} | |||
| \caption{The caption of the figure} | |||
| \label{fig:image-a} | |||
| \end{figure} | |||
| \section{Preliminary data} | |||
| \label{sec:pre} | |||
| \blindtext[1] | |||
| \section{Statement of limitations} | |||
| \label{sec:limitations} | |||
| \blindtext[1] | |||
| \section{Conclusions} | |||
| \label{sec:conclusions} | |||
| \blindtext[1] | |||
| \end{document} | |||
| ``` | |||
| This is the output in the PDF file: | |||
|  | |||
| @ -0,0 +1,39 @@ | |||
| \documentclass{article} | |||
| \usepackage{blindtext} | |||
| \usepackage{graphicx} | |||
| \begin{document} | |||
| \section{Introduction} | |||
| \label{sec:intro} | |||
| Now I'm using label command to create cross-references, e.g. in section \ref{sec:review} a literature review is presented, in section \ref{sec:method} the methodology is presented, and so on... | |||
| \section{Literature review} | |||
| \label{sec:review} | |||
| \blindtext[1] | |||
| \section{Methodology} | |||
| \label{sec:method} | |||
| In the Fig. \ref{fig:image-a} the methodology is presented. | |||
| \begin{figure}[!h] | |||
| \centering | |||
| \includegraphics[width=3in]{example-image-a} | |||
| \caption{The caption of the figure} | |||
| \label{fig:image-a} | |||
| \end{figure} | |||
| \section{Preliminary data} | |||
| \label{sec:pre} | |||
| \blindtext[1] | |||
| \section{Statement of limitations} | |||
| \label{sec:limitations} | |||
| \blindtext[1] | |||
| \section{Conclusions} | |||
| \label{sec:conclusions} | |||
| \blindtext[1] | |||
| \end{document} | |||
| @ -0,0 +1,79 @@ | |||
| \usepackage{listings} | |||
| \usepackage{courier} | |||
| \usepackage{xcolor} | |||
| \lstset{ | |||
| basicstyle=\footnotesize\ttfamily, % Default font | |||
| numbers=left, % Location of line numbers | |||
| numberstyle=\tiny, % Style of line numbers | |||
| % stepnumber=2, % Margin between line numbers | |||
| numbersep=5pt, % Margin between line numbers and text | |||
| tabsize=2, % Size of tabs | |||
| extendedchars=true, | |||
| breaklines=true, % Lines will be wrapped | |||
| keywordstyle=\color{red}, | |||
| frame=b, | |||
| % keywordstyle=[1]\textbf, | |||
| % keywordstyle=[2]\textbf, | |||
| % keywordstyle=[3]\textbf, | |||
| % keywordstyle=[4]\textbf, \sqrt{\sqrt{}} | |||
| stringstyle=\color{white}\ttfamily, % Color of strings | |||
| showspaces=false, | |||
| showtabs=false, | |||
| xleftmargin=17pt, | |||
| framexleftmargin=17pt, | |||
| framexrightmargin=5pt, | |||
| framexbottommargin=4pt, | |||
| % backgroundcolor=\color{lightgray}, | |||
| showstringspaces=false | |||
| } | |||
| \lstloadlanguages{ % Check documentation for further languages ... | |||
| % [Visual]Basic, | |||
| % Pascal, | |||
| % C, | |||
| % C++, | |||
| % XML, | |||
| % HTML, | |||
| TeX | |||
| } | |||
| %Listings line numbers that match the linerange specification | |||
| \makeatletter | |||
| \lst@Key{matchrangestart}{f}{\lstKV@SetIf{#1}\lst@ifmatchrangestart} | |||
| \def\lst@SkipToFirst{% | |||
| \lst@ifmatchrangestart\c@lstnumber=\numexpr-1+\lst@firstline\fi | |||
| \ifnum \lst@lineno<\lst@firstline | |||
| \def\lst@next{\lst@BeginDropInput\lst@Pmode | |||
| \lst@Let{13}\lst@MSkipToFirst | |||
| \lst@Let{10}\lst@MSkipToFirst}% | |||
| \expandafter\lst@next | |||
| \else | |||
| \expandafter\lst@BOLGobble | |||
| \fi} | |||
| \makeatother | |||
| %space: | |||
| \makeatletter | |||
| \def\lst@MSkipToFirst{% | |||
| \global\advance\lst@lineno\@ne | |||
| \ifnum \lst@lineno=\lst@firstline | |||
| \def\lst@next{\lst@LeaveMode \global\lst@newlines\z@ | |||
| \lst@OnceAtEOL \global\let\lst@OnceAtEOL\@empty | |||
| \ifnum \c@lstnumber>0 | |||
| \\ ... | |||
| \vspace{2 mm} | |||
| \fi | |||
| \lst@InitLstNumber % Added to work with modified \lsthk@PreInit. | |||
| \lsthk@InitVarsBOL | |||
| \c@lstnumber=\numexpr-1+\lst@lineno % this enforces the displayed line numbers to always be the input line numbers | |||
| \lst@BOLGobble}% | |||
| \expandafter\lst@next | |||
| \fi} | |||
| \makeatother | |||
| % end | |||
| % \DeclareCaptionFont{blue}{\color{blue}} | |||
| % \captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}} | |||
| \usepackage{caption} | |||
| \DeclareCaptionFont{white}{\color{white}} | |||
| \DeclareCaptionFormat{listing}{\colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{\parbox{\textwidth}{\hspace{15pt}#1#2#3}}} | |||
| \captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}} | |||
| %-------- | |||
| @ -0,0 +1,7 @@ | |||
| \documentclass{book} | |||
| \input{lst-config} | |||
| \begin{document} | |||
| Here is a code example with showing only specific ranges: | |||
| \lstinputlisting[label=ls:figure, caption=Using the configuration., linerange={1-5, 18-23, 39},matchrangestart=t]{code.txt} | |||
| \end{document} | |||