summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/showexpl/README19
-rw-r--r--Master/texmf-dist/doc/latex/showexpl/showexpl-test.pdfbin331256 -> 331256 bytes
-rw-r--r--Master/texmf-dist/doc/latex/showexpl/showexpl.pdfbin242552 -> 243144 bytes
-rw-r--r--Master/texmf-dist/source/latex/showexpl/showexpl.dtx136
-rw-r--r--Master/texmf-dist/tex/latex/showexpl/showexpl.sty15
5 files changed, 103 insertions, 67 deletions
diff --git a/Master/texmf-dist/doc/latex/showexpl/README b/Master/texmf-dist/doc/latex/showexpl/README
index d65eb438860..f16e1bc655f 100644
--- a/Master/texmf-dist/doc/latex/showexpl/README
+++ b/Master/texmf-dist/doc/latex/showexpl/README
@@ -1,9 +1,16 @@
+showexpl
+========
-The LaTeX package `showexpl' provides a way to typeset LaTeX source
-code and the related result in the same document. The `listings'
-package is required. See `doc/showexpl-test.tex' for the details.
+The LaTeX package 'showexpl' provides a way to typeset LaTeX source code and
+the related result in the same document. The `listings' package is required.
+See 'doc/showexpl-test.tex' for the details.
- Rolf Niepraschk
- email: Rolf.Niepraschk@gmx.de
- 2006-03-26
+Recommended TDS locations:
+
+ showexpl.sty: tex/latex/showexpl
+ README, showexpl.pdf, showexpl-test.pdf,
+ showexpl-test.tex, result-picture.pdf: doc/latex/showexpl
+
+For general installation advice, see
+http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages
diff --git a/Master/texmf-dist/doc/latex/showexpl/showexpl-test.pdf b/Master/texmf-dist/doc/latex/showexpl/showexpl-test.pdf
index fe09737ee02..301571e46d3 100644
--- a/Master/texmf-dist/doc/latex/showexpl/showexpl-test.pdf
+++ b/Master/texmf-dist/doc/latex/showexpl/showexpl-test.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/showexpl/showexpl.pdf b/Master/texmf-dist/doc/latex/showexpl/showexpl.pdf
index c02c9cbff6a..fc0d997ec65 100644
--- a/Master/texmf-dist/doc/latex/showexpl/showexpl.pdf
+++ b/Master/texmf-dist/doc/latex/showexpl/showexpl.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/showexpl/showexpl.dtx b/Master/texmf-dist/source/latex/showexpl/showexpl.dtx
index 3eb49722fda..78d41e731f4 100644
--- a/Master/texmf-dist/source/latex/showexpl/showexpl.dtx
+++ b/Master/texmf-dist/source/latex/showexpl/showexpl.dtx
@@ -2,7 +2,7 @@
%
% Copyright (C) 2004 -- 2006 by Rolf Niepraschk <Rolf.Niepraschk@gmx.de>
% --------------------------------------------------------------------
-%
+%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.2
% of this license or (at your option) any later version.
@@ -10,7 +10,7 @@
%
% http://www.latex-project.org/lppl.txt
%
-% and version 1.2 or later is part of all distributions of LaTeX
+% and version 1.2 or later is part of all distributions of LaTeX
% version 1999/12/01 or later.
%
% \fi
@@ -22,7 +22,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{showexpl}
%<*package>
- [2013/03/21 v0.3k Typesetting example code (RN)]
+ [2014/01/19 v0.3l Typesetting example code (RN)]
%</package>
%
%<*driver>
@@ -39,7 +39,7 @@
%</driver>
% \fi
%
-% \CheckSum{845}
+% \CheckSum{870}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -92,7 +92,7 @@
% \DoNotIndex{\parbox,\setbox,\setlength,\hfill,\item,\number}
% \DoNotIndex{\x}
% \DoNotIndex{\SX@put@a,\SX@put@b,\SX@put@l,\SX@put@r,\SX@put@o,\SX@put@i}
-%
+%
% ^^A\DoNotIndex{\usepackage,\documentclass,\tableofcontens,\printindex}
%
% \title{The \textsf{showexpl} package\thanks{This document
@@ -114,32 +114,32 @@
% \section{Usage}
%
% You can use \textsf{showexpl} like every other package by putting the
-% line
+% line
% \begin{verbatim}
-% \usepackage{showexpl}
+% \usepackage{showexpl}
% \end{verbatim}
% \vspace{-\baselineskip}
% in your source code. \textsf{showexpl} doesn't know any options by
-% itself, but all options for the underlying packages
-% (\textsf{listings} and \textsf{graphicx}) will be passed to the
+% itself, but all options for the underlying packages
+% (\textsf{listings} and \textsf{graphicx}) will be passed to the
% respective packages.
%
% \textsf{showexpl} provides one command and one environment:
% \begin{itemize}
% \item |\LTXinputExample| and
% \item \textsf{LTXexample}
-% \end{itemize}
+% \end{itemize}
%
% \DescribeMacro{\LTXinputExample}
% The syntax of |\LTXinputExample| is given by
% \begin{quote}
-% |\LTXinputExample[|\meta{key val list}|]{|\meta{file}|}|
+% |\LTXinputExample[|\meta{key val list}|]{|\meta{file}|}|
% \end{quote}
-%
+%
% \DescribeEnv{LTXexample}
% The syntax of the environment \textsf{LTXexample} is given by
% \begin{quote}
-% |\begin{LTXexample}[|\meta{key val list}|]|\ldots|\end{LTXexample}|
+% |\begin{LTXexample}[|\meta{key val list}|]|\ldots|\end{LTXexample}|
% \end{quote}
%
% The set of options represented by \meta{key val list} is the same for
@@ -154,7 +154,7 @@
% \item[explpreset] A \meta{key val list} which serves for presetting the
% properties of the formatting of the source code, for values see the
% documentation of the \textsf{listings} package. The default value is
-%
+%
% \item[graphic] Name of a (graphic) file. This file---if present---will
% be included and displayed instead of the formatted code. The default value is empty.
% \item[hsep] Defines the horizontal distance between the source code and the
@@ -170,13 +170,13 @@
% |o|, and |i| for top, bottom, left, right, outer, and inner. The last
% values give sense only for two-sided printing, where there are outer
% and inner margins of a page. The default value is |l|.
-% \item[preset] Any \TeX\ code executed before the sample code but
+% \item[preset] Any \TeX\ code executed before the sample code but
% not visible in the listings area.
% \item[rangeaccept] Boolean valued key, default value is false. If set
% to true, one can define ranges of lines that will be excerpted from
% the source code.
% \item[rframe] Defines the form of the frame around the formatted
-% text. With a non-empty value (e.\,g. ``single'') a simple frame
+% text. With a non-empty value (e.\,g. ``single'') a simple frame
% will be drawn. In the future more kinds of frames will be supported.
% The default value is empty (no frame).
% \item[varwidth] Boolean valued key, default value is false. If set to
@@ -190,6 +190,9 @@
% \item[width] A \meta{dimen} value that defines the width of the
% formatted text. The default value depends of the relative positions of
% the source code and the formatted text.
+% \item[scaled] Without a value the formatted text will be scaled to fit
+% the given width of the result area. With a number as value the formatted
+% text will be scaled by this number.
% \end{description}
%
% \StopEventually{}
@@ -228,11 +231,11 @@
\newcommand*\SX@defaultWD[2]{%
\afterassignment\SX@def@WD\dimen@#2\linewidth\relax{#1}}
\newcommand*\SX@def@WD{}
-\def\SX@def@WD#1\relax#2{\edef#2{\the\dimen@}}
+\def\SX@def@WD#1\relax#2{\edef#2{\the\dimen@}}
% \end{macrocode}
% \end{macro}
% Additional keys.
-% \changes{v0.1a}{2004/11/14}{``hpos'' and ``vpos'' added,
+% \changes{v0.1a}{2004/11/14}{``hpos'' and ``vpos'' added,
% ``pos'' removed (RN).}
% \changes{v0.1f}{2004/12/06}{``lstpreset'' added. (RN).}
% \changes{v0.1h}{2005/06/03}{``codefile'' added. (RN).}
@@ -245,8 +248,13 @@
\lst@Key{wide}f[t]{\lstKV@SetIf{#1}\if@SX@wide}
\lst@Key{rframe}\relax{\def\SX@rframe{#1}}
\lst@Key{preset}\relax{\def\SX@preset{#1}}
+\newcommand*\SX@scaled{}
+\lst@Key{scaled}{?}[!]{\def\SX@scaled{#1}}
% \end{macrocode}
-% \changes{v0.1h}{2005/06/03}{``lstpreset'' renamed to ``explpreset'' (RN).}
+% \changes{v0.1h}{2005/06/03}{``lstpreset'' renamed to ``explpreset''
+% (RN).}
+% \changes{v0.3l}{2014/01/19}{Option ``scaled'' and \cmd{\SX@scaled}
+% added (RN).}
% \begin{macrocode}
\lst@Key{explpreset}\relax{\def\SX@explpreset{#1}}
\lst@Key{codefile}\relax{\def\SX@codefile{#1}}
@@ -284,7 +292,7 @@
\newcommand\SX@preset{}
\newcommand*\SX@explpreset{}
% \end{macrocode}
-% \changes{v0.3g}{2006/09/05}{Missing \cmd{\newcommand} for
+% \changes{v0.3g}{2006/09/05}{Missing \cmd{\newcommand} for
% \cmd{\SX@@explpreset} added (RN).}
% \begin{macrocode}
\newcommand*\SX@@explpreset{}
@@ -293,11 +301,11 @@
% \end{macrocode}
% \begin{macro}{\SX@@preset}
% Contains some redefinitions of \LaTeX\ macros and environments to do
-% nothing. \cmd{\SX@@preset} will be called just before
-% typesetting the result of the example code. More can be added with
+% nothing. \cmd{\SX@@preset} will be called just before
+% typesetting the result of the example code. More can be added with
% the user key ``|preset=...|''.
% \changes{v0.3e}{2006/04/05}{More redefinitions added (RN).}
-% \begin{macrocode}
+% \begin{macrocode}
\newcommand*\SX@@preset{%
\renewcommand\documentclass[2][]{\SX@eat@version}%
\renewcommand\usepackage[2][]{\SX@eat@version}%
@@ -323,8 +331,8 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\isSX@odd}
-% Parameter |#1| is executed on odd pages, parameter |#2| on
-% even pages.
+% Parameter |#1| is executed on odd pages, parameter |#2| on
+% even pages.
% \begin{macrocode}
\newif\ifSX@wasodd
\if@twoside
@@ -335,7 +343,7 @@
\newcommand*{\isSX@odd}[2]{#1}\SX@wasoddtrue
\fi
% \end{macrocode}
-% The call of \cmd{\isSX@odd} sets also \cmd{\ifSX@wasodd} to true or
+% The call of \cmd{\isSX@odd} sets also \cmd{\ifSX@wasodd} to true or
% false. If it's clear that no page break occurs, \cmd{\ifSX@wasodd}
% can be used.
% \begin{macrocode}
@@ -344,7 +352,7 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\SX@attachfile}
-% \changes{v0.3a}{2005/08/20}{Attach file functionality (with pdf\TeX)
+% \changes{v0.3a}{2005/08/20}{Attach file functionality (with pdf\TeX)
% added (RN).}
% \begin{macrocode}
\newcommand*\SX@attachfile{%
@@ -357,13 +365,13 @@
% \end{macro}
% \begin{macro}{\SX@put@t/b/l/r/o/i}
% Six macros for positioning |#2| (result) and |#3| (code). The result
-% can be
-% \underline{a}bove, \underline{b}elow, \underline{l}eft or
-% \underline{r}ight of the code area or on the \underline{o}uter or
+% can be
+% \underline{a}bove, \underline{b}elow, \underline{l}eft or
+% \underline{r}ight of the code area or on the \underline{o}uter or
% \underline{i}nner side. Parameter |#1| is the width of the result.
-% \changes{v0.1b}{2004/11/18}{Positioning the captions more independend
+% \changes{v0.1b}{2004/11/18}{Positioning the captions more independend
% of the result and code area (RN).}
-% \changes{v0.1c}{2004/11/19}{Commands \cmd{\SX@KillAboveCaptionskip} and
+% \changes{v0.1c}{2004/11/19}{Commands \cmd{\SX@KillAboveCaptionskip} and
% \cmd{\SX@KillBelowCaptionskip} added (RN).}
% \changes{v0.1k}{2005/06/13}{Change [a]bove to [t]op (RN).}
% \begin{macrocode}
@@ -416,7 +424,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{environment}{LTXexample}
% \changes{v0.1h}{2005/06/03}{Renamed from ``example'' to ``LTXexample' (RN).}
% \begin{macrocode}
@@ -425,10 +433,10 @@
\@temptokena{#1}%
\begingroup
% \end{macrocode}
-% For "codefile=..."/"graphic=..." if \cmd{\theltxexample} or
+% For "codefile=..."/"graphic=..." if \cmd{\theltxexample} or
% \cmd{\thelstlisting} is part of the filename.
% \begin{macrocode}
- \advance\c@ltxexample\@ne \advance\c@lstlisting\@ne
+ \advance\c@ltxexample\@ne \advance\c@lstlisting\@ne
\expandafter\lstset\expandafter{\SX@explpreset,#1}%
\edef\x{\endgroup
\def\noexpand\SX@codefile{\SX@codefile}%
@@ -446,12 +454,12 @@
}
% \end{macrocode}
% \end{environment}
-% \changes{v0.1i}{2005/06/07}{Better caption positioning and
+% \changes{v0.1i}{2005/06/07}{Better caption positioning and
% correct distance between the parts (RN).}
% \changes{v0.1m}{2005/06/25}{Problem related to \cmd{\label}/\cmd{\ref}
% solved (RN).}
% \changes{v0.2a}{2005/07/16}{``varwidth'' package used (RN).}
-% \changes{v0.2b}{2005/07/30}{Check if \cmd{\SX@put@}\texttt{?}
+% \changes{v0.2b}{2005/07/30}{Check if \cmd{\SX@put@}\texttt{?}
% is defined (RN).}
% \begin{macro}{\SX@put@code@result}
% \begin{macrocode}
@@ -465,7 +473,7 @@
\expandafter\lstset\expandafter{\SX@@explpreset}%
\ifx\lst@float\relax\else
% \end{macrocode}
-% \cmd{\lst@float} must be \cmd{\relax} because the whole ``example''
+% \cmd{\lst@float} must be \cmd{\relax} because the whole ``example''
% should float but not the listings part in addition.
% \begin{macrocode}
\let\SX@float=\lst@float\let\lst@float=\relax
@@ -480,11 +488,11 @@
\trivlist\item\relax
\stepcounter{ltxexample}\label{\SX@IDENT}%
% \end{macrocode}
-% Make \cmd{\SX@width} a real dimension if the unit is missing.
+% Make \cmd{\SX@width} a real dimension if the unit is missing.
% \begin{macrocode}
\SX@defaultWD\SX@width{\SX@width}%
% \end{macrocode}
-% Set the default width if necessary.
+% Set the default width if necessary.
% \begin{macrocode}
\ifdim\SX@width<\z@
\@tempswatrue
@@ -497,7 +505,7 @@
\edef\SX@width{\the\@tempdima}%
\fi
% \end{macrocode}
-% Correct \cmd{\SX@width} if a frame is requested.
+% Correct \cmd{\SX@width} if a frame is requested.
% \begin{macrocode}
\ifx\SX@rframe\@empty
\long\def\SX@frame##1{##1}%
@@ -511,13 +519,13 @@
\parbox{\linewidth+\SX@overhang}{%
% \end{macrocode}
% \cmd{\SX@codefile} (|\jobname.tmp|) is not nessesary for the filelist.
-% \begin{macrocode}
+% \begin{macrocode}
\let\@addtofilelist\@gobble
\let\lst@ifdisplaystyle=\iftrue
\SX@KillAboveCaptionskip\lst@MakeCaption{t}%
\lst@belowskip=\z@
% \end{macrocode}
-% Use the ``natural'' width of the result code if ``varwidth'' is
+% Use the ``natural'' width of the result code if ``varwidth'' is
% true.
% \changes{v0.3k}{2013/03/21}{Setting \cmd{\lst@MakeCaption} to \cmd{\@gobble}
% again (prevent multiply defined labels; label key)}.
@@ -525,8 +533,8 @@
\let\SX@MakeCaption\lst@MakeCaption
\let\lst@MakeCaption\@gobble{}
% \end{macrocode}
-% \changes{v0.3j}{2012/09/22}{Setting \cmd{\lst@MakeCaption} to
-% was a bad idea for hyperlinks. Group added to
+% \changes{v0.3j}{2012/09/22}{Setting \cmd{\lst@MakeCaption} to
+% was a bad idea for hyperlinks. Group added to
% varwidth environment. (Suggestions by Ulrike Fischer.).}
% \begin{macrocode}
\setbox\SX@ResBox\hbox{%
@@ -553,9 +561,9 @@
}
% \end{macrocode}
% \end{macro}
-% \changes{v0.3g}{2006/09/05}{\cmd{\SX@ProcessResult} is now working
+% \changes{v0.3g}{2006/09/05}{\cmd{\SX@ProcessResult} is now working
% correctly
-% using \cmd{\readline} and \cmd{\scantokens}. Thanks to Ulrich Diez
+% using \cmd{\readline} and \cmd{\scantokens}. Thanks to Ulrich Diez
% for help (RN).}
% \begin{macrocode}
\newcommand\SX@SkipToFirst{%
@@ -593,7 +601,7 @@
% \end{macrocode}
% \begin{macro}{\SX@input}
% \changes{v0.1j}{2005/06/12}{For ranges of lines (RN).}
-% \begin{macrocode}
+% \begin{macrocode}
\newcommand\SX@input[1]{%
\begingroup
\IfFileExists{#1}{}%
@@ -619,8 +627,8 @@
\endgroup
}
% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
+% \end{macro}
+% \begin{macrocode}
\newcommand*\SX@Info{%
\typeout{--------------------------------}%
\typeout{pos=\SX@pos}%
@@ -646,10 +654,11 @@
\providecommand*\MakePercentComment{\catcode`\%14\relax}
% \end{macrocode}
% \begin{macro}{\SX@resultInput}
-% \changes{v0.3b}{2005/10/15}{Input of result code now inside a group;
+% \changes{v0.3b}{2005/10/15}{Input of result code now inside a group;
% \cmd{\makeatother} added (RN).}
% \changes{v0.3c}{2005/10/15}{Wrong catcode for newline char corrected (RN).}
% \changes{v0.3d}{2005/12/06}{Missing \cs{par} added (RN).}
+% \changes{v0.3l}{2014/01/19}{Code for ``scaled'' option (RN).}
% \begin{macrocode}
\newcommand*\SX@resultInput{%
\ifx\SX@graphicname\@empty
@@ -661,7 +670,16 @@
\else
\let\SX@tempa=\input
\fi
- \SX@tempa{\SX@codefile}\par%
+ \if\SX@scaled ?%
+ \let\SX@tempb=\@firstofone
+ \else
+ \if\SX@scaled !%
+ \def\SX@tempb##1{\resizebox{\SX@width}{!}{##1}}%
+ \else
+ \def\SX@tempb##1{\scalebox{\SX@scaled}{##1}}%
+ \fi
+ \fi
+ \SX@tempb{\SX@tempa{\SX@codefile}}\par
\endgroup
\else
\expandafter\includegraphics\expandafter[\SX@graphicparam]%
@@ -674,19 +692,19 @@
% \begin{macrocode}
\newcommand*\SX@codeInput{%
% \end{macrocode}
-% Without a caption entry the command \cmd{\lstinputlisting} adds the
-% filename to the ``list of listings'' (lol). This should be avoided.
+% Without a caption entry the command \cmd{\lstinputlisting} adds the
+% filename to the ``list of listings'' (lol). This should be avoided.
% \changes{v0.1d}{2004/11/20}{\cmd{\lstset}|{nolol}| and
% \cmd{\lstset}|{float=false}| added (RN).}
% \changes{v0.1h}{2005/06/03}{\cmd{\lstset}|{float=false}| removed (RN).}
% \begin{macrocode}
\begingroup
% \end{macrocode}
-% The default parameters for all examples.
-% \begin{macrocode}
+% The default parameters for all examples.
+% \begin{macrocode}
\expandafter\lstset\expandafter{\SX@explpreset}%
% \end{macrocode}
-% If "numbers=none" then margin dimensions should be zero.
+% If "numbers=none" then margin dimensions should be zero.
% \begin{macrocode}
\expandafter\lstset\expandafter{\SX@@explpreset}%
\ifx\lst@PlaceNumber\@empty
@@ -701,7 +719,7 @@
% \end{macro}
% \changes{v0.1h}{2005/06/03}{New macro \cmd{\LTXinputExample} (RN).}
% \begin{macrocode}
-\newcommand*\LTXinputExample[2][]{%
+\newcommand*\LTXinputExample[2][]{%
\g@addto@macro\SX@@explpreset{#1,codefile=#2}%
\SX@put@code@result}%
% \end{macrocode}
@@ -721,7 +739,7 @@
\def\theHlstnumber{\thelstlisting.\arabic{lstnumber}.\lst@neglisting}%
}
% \end{macrocode}
-% \changes{v0.1g}{2004/12/10}{Loading of |showexpl.cfg| now at end of
+% \changes{v0.1g}{2004/12/10}{Loading of |showexpl.cfg| now at end of
% package (RN).}
% Changing the defaults possible in |showexpl.cfg|.
% \begin{macrocode}
diff --git a/Master/texmf-dist/tex/latex/showexpl/showexpl.sty b/Master/texmf-dist/tex/latex/showexpl/showexpl.sty
index 65451f40923..264edcd40ca 100644
--- a/Master/texmf-dist/tex/latex/showexpl/showexpl.sty
+++ b/Master/texmf-dist/tex/latex/showexpl/showexpl.sty
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{showexpl}
- [2013/03/21 v0.3k Typesetting example code (RN)]
+ [2014/01/19 v0.3l Typesetting example code (RN)]
\DeclareOption{final}{%
\PassOptionsToPackage{\CurrentOption}{graphicx}%
\PassOptionsToPackage{\CurrentOption}{listings}%
@@ -51,6 +51,8 @@
\lst@Key{wide}f[t]{\lstKV@SetIf{#1}\if@SX@wide}
\lst@Key{rframe}\relax{\def\SX@rframe{#1}}
\lst@Key{preset}\relax{\def\SX@preset{#1}}
+\newcommand*\SX@scaled{}
+\lst@Key{scaled}{?}[!]{\def\SX@scaled{#1}}
\lst@Key{explpreset}\relax{\def\SX@explpreset{#1}}
\lst@Key{codefile}\relax{\def\SX@codefile{#1}}
\newif\if@SX@rangeaccept \@SX@rangeacceptfalse
@@ -340,7 +342,16 @@
\else
\let\SX@tempa=\input
\fi
- \SX@tempa{\SX@codefile}\par%
+ \if\SX@scaled ?%
+ \let\SX@tempb=\@firstofone
+ \else
+ \if\SX@scaled !%
+ \def\SX@tempb##1{\resizebox{\SX@width}{!}{##1}}%
+ \else
+ \def\SX@tempb##1{\scalebox{\SX@scaled}{##1}}%
+ \fi
+ \fi
+ \SX@tempb{\SX@tempa{\SX@codefile}}\par
\endgroup
\else
\expandafter\includegraphics\expandafter[\SX@graphicparam]%