summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/bashful
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-03-17 23:15:59 +0000
committerKarl Berry <karl@freefriends.org>2011-03-17 23:15:59 +0000
commitb759f025b1f56ba1063cd6f4cb0590266854e4e7 (patch)
tree99b0e9a4801fc1405d1eada030423cf20b8ad248 /Master/texmf-dist/doc/latex/bashful
parent3cc9bb16c4b016df04a5759b93c2c886e14ba919 (diff)
bashful (17mar11)
git-svn-id: svn://tug.org/texlive/trunk@21748 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/bashful')
-rw-r--r--Master/texmf-dist/doc/latex/bashful/Makefile4
-rw-r--r--Master/texmf-dist/doc/latex/bashful/README13
-rw-r--r--Master/texmf-dist/doc/latex/bashful/bashful.pdfbin422132 -> 470434 bytes
-rw-r--r--Master/texmf-dist/doc/latex/bashful/bashful.tex402
4 files changed, 271 insertions, 148 deletions
diff --git a/Master/texmf-dist/doc/latex/bashful/Makefile b/Master/texmf-dist/doc/latex/bashful/Makefile
index 3ea9362ec96..1cf8a1d9cb2 100644
--- a/Master/texmf-dist/doc/latex/bashful/Makefile
+++ b/Master/texmf-dist/doc/latex/bashful/Makefile
@@ -11,4 +11,6 @@ ${PACKAGE}.zip: ${PACKAGE}.pdf $(SOURCES)
zip $@ $?
clean:
- rm -f [dD]elme* *.aux *.sh *.osh *.toc *~ *.log *.out *.dvi *.lsh *.stderr *.stdout *.toc *.c
+ rm -rf [dD]elme* *.aux *.sh *.osh *.toc *~ *.log *.out *.dvi *.lsh *.stderr \
+ *.stdout *.toc *.c minimal* date bashful.date *.exitCode condition.* \
+ temperature.* _00 _bashful
diff --git a/Master/texmf-dist/doc/latex/bashful/README b/Master/texmf-dist/doc/latex/bashful/README
new file mode 100644
index 00000000000..d3a28c02793
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/bashful/README
@@ -0,0 +1,13 @@
+The bashful package, v 0.92
+
+This package makes it possible to execute bash scripts from within LaTeX. The
+main application is in writing computer-science texts, in which you want to
+make sure the programs listed in the document are executed directly from the
+input.
+
+This package may be distributed and/or modified under the LaTeX Project Public
+License, version 1.3 or higher (your choice). The latest version of this
+license is at: http://www.latex-project.org/lppl.txt
+
+This work is author-maintained (as per LPPL maintenance status)
+by Yossi Gil, <yogi@cs.Technion.ac.i>
diff --git a/Master/texmf-dist/doc/latex/bashful/bashful.pdf b/Master/texmf-dist/doc/latex/bashful/bashful.pdf
index 43a9f56fa5c..b8cd348bc61 100644
--- a/Master/texmf-dist/doc/latex/bashful/bashful.pdf
+++ b/Master/texmf-dist/doc/latex/bashful/bashful.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/bashful/bashful.tex b/Master/texmf-dist/doc/latex/bashful/bashful.tex
index 5b853991152..c2247d1266f 100644
--- a/Master/texmf-dist/doc/latex/bashful/bashful.tex
+++ b/Master/texmf-dist/doc/latex/bashful/bashful.tex
@@ -1,5 +1,5 @@
\documentclass{ltxdoc} % Process with xelatex -shell-escape
-\usepackage{bashful}
+\usepackage[verbose]{bashful}
\usepackage[colorlinks=true]{hyperref}
\usepackage{gensymb}
@@ -8,7 +8,7 @@
\usepackage{xkvview}
\usepackage{xspace}
\usepackage{amsmath}
-
+\usepackage{multicol}
\newcommand\me{bashful}
\newcommand\bashful{\textsf{\me}\xspace}
@@ -19,8 +19,11 @@
belowskip=0pt}%
\title{The \bashful Package\thanks{
+ Copyright \copyright{} 2011 by Yossi Gil
+ \url{mailto:yogi@cs.technion.ac.il}.
This work may be distributed and/or modified under the conditions of the
- \emph{GNU GENERAL PUBLIC LICENSE}{http://www.gnu.org/licenses/gpl.html}.
+ \emph{\LaTeX{} Project Public License} (LPPL), either version 1.3 of this
+ license or (at your option) any later version.
The latest version of this license is in
\url{http://www.latex-project.org/lppl.txt} and version 1.3 or later
is part of all distributions of \LaTeX{} version 2005/12/01 or later.
@@ -43,9 +46,10 @@ This work consists of the files \texttt{\me.tex} and \texttt{\me.sty}
\makeatother
\begin{document}
+
\bash
cat << EOF > README
-The bashful package, v 0.91
+The bashful package, v 0.92
This package makes it possible to execute bash scripts from within LaTeX. The
main application is in writing computer-science texts, in which you want to
@@ -61,50 +65,53 @@ by Yossi Gil, <yogi@cs.Technion.ac.i>
EOF
\END
+\bash[verbose,stdoutFile=bashful.date]
+stat -c %y bashful.sty | sed -e s+-+/+g -e 's/ .*//g' > date
+\END
+
\maketitle
+
\begin{abstract}
\parindent 1.5ex
\parskip 0.5em
\sl
It is sometimes useful to ``\emph{escape-to-shell}'' from within
- \LaTeX{}.
+ \LaTeX{}.
The most obvious application is when the document
- explains something about the working of a computer program.
+ explains something about the working of a computer program.
Your text would be more robust to changes, and easier to write,
- if all the examples it gives, are run directly from
- within \LaTeX{}.
-
+ if all the examples it gives, are run directly from
+ within \LaTeX{}.
+
To facilitate this and other applications,
package \bashful{} provides a convenient interface to \TeX's
- primitive \verb+\write18+---the execution of shell commands from within
- your input files, also known as \emph{shell escape}.
+ primitive \verb+\write18+---the execution of shell commands from within
+ your input files, also known as \emph{shell escape}.
Text between \verb+\bash+ and \verb+\END+ is executed by
- the \href
- {http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29}
- {\texttt{bash}},
- a popular Unix command line interpreter.
+ \href
+ {http://en.wikipedia.org/wiki/Bash_%28Unix_shell%29}
+ {\texttt{bash}},
+ a popular Unix command line interpreter.
Various flags control whether the executed commands and their output
- show up in the printed document, and whether they are saved
- to files.
+ show up in the printed document, and whether they are saved
+ to files.
Although provisions are made for using shells other
- than \texttt{bash}, this package may \emph{not} operate without
- modifications on Microsoft's operating systems.
+ than \texttt{bash}, this package may \emph{not} operate without
+ modifications on Microsoft's operating systems.
\end{abstract}
-\eject
+\begin{multicols}{2}
+\footnotesize
\tableofcontents
+\end{multicols}
\parindent 1.5ex
\parskip 0.5em
\section{Introduction}
-\bash[verbose]
-rm -f temperature.tex
-rm -f condition.tex
-\END
\bash[verbose,scriptFile=temperature.sh,stdoutFile=temperature.tex]
location=Jerusalem,Israel
@@ -129,28 +136,31 @@ tr 'A-Z' 'a-z'
\END
At the time I run this document through \LaTeX{},
- the temperature in Jerusalem, Israel,
- was~\emph{\input{temperature.tex}\celsius},
- while the weather condition was \emph{\input{condition}}\unskip.
-
+ the temperature in Jerusalem, Israel,
+ was~\emph{\input{temperature}\unskip\celsius},
+ while the weather condition was
+ \emph{\input{condition}}\unskip.
+
You may not care so much about these bits of truly
ephemeral information,
- but you may be surprised that they were produced
- by the very process of \LaTeX{}ing.
+ but you may be surprised that they were produced
+ by the very process of \LaTeX{}ing the input.
How did I do that? Well, the first step was to write
- a series of shell commands that retrieve the current temperature,
- and another such series to obtain the current
- weather conditions.
+ a series of shell commands that retrieve the current temperature,
+ and another such series to obtain the current
+ weather conditions.
This task required connection to
-\href{http://www.Google.com/support/forum/p/apps-apis/thread?tid=0c95e45bd80def1a&hl=en}%
-{Google's weather service} and
- minimal dexterity with Unix pipes and filters to process the output.
+ \href{http://www.Google.com/support/forum/p/%
+ apps-apis/thread?tid=0c95e45bd80def1a&hl=en}%
+ {Google's weather service} and
+ minimal dexterity with Unix pipes and filters to process the output.
+
My command series to obtain the current temperature was:
\begin{minipage}{\textwidth}
\begin{quote}
- \lstinputlisting[style=input]{temperature.sh}
+ \lstinputlisting[style=input]{temperature.sh}
\end{quote}
\end{minipage}
@@ -158,57 +168,61 @@ while the weather condition was obtained by
\begin{minipage}{\textwidth}
\begin{quote}
- \lstinputlisting[style=input]{condition.sh}
+ \lstinputlisting[style=input]{condition.sh}
\end{quote}
\end{minipage}
The second step was coercing \LaTeX{} to run these commands
- while processing this file.
-To do that, I wrapped these two series within
- a \verb+\bash+\ldots\verb+\END+ pair.
+ while processing my document.
+To do that, I used package \bashful,
+\begin{verbatim}
+\usepackage{bashful}
+\end{verbatim}
+And, then, I wrapped each of these two series within
+ a \verb+\bash+\ldots\verb+\END+ pair.
+
The \verb+\bash+ command, offered by this package,
- takes all subsequent lines, stopping at the closing \verb+\END+,
- places these in a file, and then
- lets the \texttt{bash} shell interpreter execute this file.
+ takes all subsequent lines, stopping at the closing \verb+\END+,
+ places these in a file, and then
+ lets the \texttt{bash} shell interpreter execute this file.
Allowing \LaTeX{} to run arbitrary shell commands can be
- dangerous---you never know whether that nice looking \texttt{tex}
- file you received by email was prepared by a friend or
- a foe.
+ dangerous---you never know whether that nice looking \texttt{.tex}
+ file you received by email was prepared by a friend or
+ a foe.
This is the reason that you have to tell \LaTeX{}
- explicitly that shell escapes
- are allowed.
-The \texttt{-shell-esc} does that.
-Processing this file was thus done by executing, at the command line,
+ explicitly that shell escapes
+ are allowed.
+The \texttt{-shell-esc} flag does that.
+To process my document, I typed, at the command line,
\begin{quote}
- \tt
- \% latex -shell-escape \jobname.tex
+ \tt
+ \% latex -shell-escape \jobname.tex
\end{quote}
-What I actually wrote in my \texttt{.tex} file
+What I actually wrote in the input
to produce the temperature in
- Jerusalem, Israel was:
-
+ Jerusalem, Israel was:
+
\begin{minipage}{\textwidth}
\begin{quote}
\noindent\verb+\bash[verbose,scriptFile=temperature.sh,stdoutFile=temperature.tex]+
-\lstinputlisting[style=input]{temperature.sh}
+\lstinputlisting[style=input,belowskip=0pt]{temperature.sh}
\verb+\END+\\
\end{quote}
\end{minipage}
-The flags passed to above to the \verb+bash+ control sequence instructed it:
- \begin{enumerate}
- \item to be verbose, typing out a detailed log of everything it did;
- \item to save the shell commands in a script file named
- \texttt{temperature.sh}; and,
- \item to store the standard output of the script in a file named
- \texttt{temperature.tex}.
- \end{enumerate}
+The flags passed to the \verb+bash+ control sequence above instructed it:
+ \begin{enumerate}
+ \item to be verbose, typing out a detailed log of everything it did;
+ \item to save the shell commands in a script file named
+ \texttt{temperature.sh}; and,
+ \item to store the standard output of the script in a file named
+ \texttt{temperature.tex}.
+ \end{enumerate}
To obtain the current weather condition in the capital I wrote:
-
\begin{minipage}{\textwidth}
\begin{quote}
\noindent\verb+\bash[verbose,scriptFile=condition.sh,stdoutFile=condition.tex]+
@@ -219,18 +233,17 @@ To obtain the current weather condition in the capital I wrote:
I wrote these two just after my \verb+\begin{document}+.
When \LaTeX{} encountered these, it executed the bash commands and
- created two files \texttt{temperature.tex} and \texttt{condition.tex}.
+ created two files \texttt{temperature.tex} and \texttt{condition.tex}.
Subsequently, I could use the content of these files by writing:
\begin{quote}
-\begin{verbatim}
-At the time I run this document through \LaTeX{},
- the temperature in Jerusalem, Israel,
- was~\emph{\input{temperature.tex}\celsius},
- while the weather condition was \emph{\input{condition}}\unskip.
-\end{verbatim}
+\bash
+sed -n "/^At the time/,/^You may not/ p" bashful.tex > init.tex
+\END
+
+\lstinputlisting[style=input,belowskip=0pt]{init.tex}\ldots
\end{quote}
\section{An Easy to Digest Example}
@@ -256,8 +269,8 @@ Let's first write a simple
\href{http://en.wikipedia.org/wiki/C_(programming_language)}
{C programming language}:
-\begin{quote}
-\bash[verbose,list]
+
+\bash[verbose,environment=quote,script]
rm -f hello.c; cat << EOF > hello.c
/*
** hello.c: My first C program; it prints
@@ -273,33 +286,31 @@ int main()
}
EOF
\END
-\end{quote}
\subsubsection{Compiling}
Now, let's compile this program:
-\begin{quote}
-\bash[list,stdout]
+\bash[environment=quote,script,stdout]
cc hello.c
\END
-\end{quote}
\subsubsection{Executing}
Finally, we can execute this program,
and see that indeed, it prints the ``Hello, World!''
string.
-\begin{quote}
-\bash[list,stdout]
+\bash[environment=quote,script,stdout]
./a.out
\END
-\end{quote}
+
\subsection{Behind the Scenes}
\subsubsection{Authoring}
What I wrote in the input to produce the
\texttt{hello.c} program was:
+
+\begin{minipage}{\textwidth}
\begin{quote}
\begin{verbatim}
-\bash[list]
+\bash[script]
rm -f hello.c; cat << EOF > hello.c
/*
** hello.c: My first C program; it prints
@@ -317,12 +328,12 @@ EOF
\END
\end{verbatim}
\end{quote}
+\end{minipage}
In doing so, all the text between the \verb+\bash+
and \verb+\END+ was sent to a temporary file,
- which was then sent to the \texttt{bash}
- bash shell for execution.
-The \texttt{list} flag instructed \verb+\bash+
+ which was then sent for execution.
+The \texttt{script} flag instructed \verb+\bash+
to list this file in the main document.
This listing was prefixed with \verb*+% +
to make it clear that it was input to \texttt{bash}.
@@ -331,7 +342,7 @@ This listing was prefixed with \verb*+% +
Next, I wrote
\begin{quote}
\begin{verbatim}
-\bash[list]
+\bash[script,stdout]
cc hello.c
\END
\end{verbatim}
@@ -341,13 +352,14 @@ As before, in doing that, I achieved two objectives:
first, when \LaTeX{} processed
the input, it also invokes the~C compiler to compile
file \texttt{hello.c}, the file which I just created.
-Second, thanks to the \texttt{list} flag,
+
+Second, thanks to the \texttt{script} flag,
the command for compiling this program
was included in the printed version of
this document.
-Thanks to the \texttt{stdout} option,
- plain messages, i.e., not error messages,
- produced by the compiler would show on
+The \texttt{stdout} option instructed \verb+\bash+
+ to include plain messages, i.e., not error messages,
+ produced by the compiler in
the printed version of this document.
In this case, no such messages were produced.
@@ -357,7 +369,7 @@ In this case, no such messages were produced.
Finally, I wrote
\begin{quote}
\begin{verbatim}
-\bash[list,stdout]
+\bash[script,stdout]
./a.out
\END
\end{verbatim}
@@ -385,15 +397,20 @@ More specifically, the \verb+\bash+ command
\begin{enumerate}
\item collects all commands up to \verb+\END+;
\item places these commands in a script file;
+\item change directory to a designated directory if the \texttt{hide}
+ option is set (the \texttt{dir} option sets the directory name);
\item executes this script file, redirecting its standard output
and its standard error streams to distinct files;
\item checks whether the exit code of the execution indicates an error
(i.e., exit code which is different from~$0$), and if so,
- appends this exit code to the file containing the standard error;
+ place this exit code in a distinct file;
\item checks whether the file containing the standard error is empty,
and if not, pauses execution after displaying an error message;
-\item lists, if requested to, the script file; and,
-\item lists, if requested to, the file containing the standard output.
+\item checks whether the file containing the exit code is empty,
+ and if not, pauses execution after displaying an error message;
+\item lists, if requested to, the script file;
+\item lists, if requested to, the file containing the standard output; and,
+\item lists, if requested to, the file containing the standard error;
\end{enumerate}
Let me demonstrate a situation in which the execution of
@@ -404,22 +421,23 @@ Since \texttt{minimal.tex} contains \verb+\END+,
I will have to author this file in three steps:
\begin{enumerate}
\item Creating the header of \texttt{minimal.tex}:
-\bash[list]
+\bash[script]
cat << EOF > minimal.tex
-\documentclass{minimal}
+\documentclass{standalone}
\usepackage{bashful}
\begin{document}
-\bash
-echo "main(){return int;}" > error.c
-cc error.c
+This document creates a simple erroneous C program
+ and then compiles it:
+\bash[script,stdout]
+echo "main(){return int;}" > error.c; cc error.c
EOF
\END
\item Adding \verb+\END+ to \texttt{minimal.tex}
-\bash[list]
+\bash[script]
echo "\\END" >> minimal.tex
\END
\item Finalizing \texttt{minimal.tex}
-\bash[list]
+\bash[script]
echo "\\end{document}" >> minimal.tex
\END
\end{enumerate}
@@ -427,7 +445,7 @@ echo "\\end{document}" >> minimal.tex
Let me now make sure \texttt{minimal.tex} was what I expect it to be:
\begin{minipage}{\textwidth}
-\bash[list,stdout]
+\bash[script,stdout]
cat minimal.tex
\END
\end{minipage}
@@ -438,12 +456,12 @@ I am now ready to run \texttt{minimal.tex} through \LaTeX{},
when the anticipated error occurs.
\begin{minipage}{\textwidth}
- \lstdefinestyle{bashfulStdoutFile}{
+ \lstdefinestyle{bashfulStdout}{
showstringspaces=false,
- basicstyle=\scriptsize\ttfamily,
+ basicstyle=\small\ttfamily,
}%
-\bash[list,stdout]
-yes x | latex -shell-esc minimal.tex
+\bash[script,stdout]
+yes q | pdflatex -shell-esc minimal.tex | fmt -s -w 55
\END
\end{minipage}
@@ -455,16 +473,23 @@ You can see that when \LaTeX{} tried to process \texttt{minimal.tex},
Inspecting \texttt{minimal.stderr}, we see the C compiler error messages:
\begin{minipage}{\textwidth}
-\bash[list,stdout]
+\bash[script,stdout]
cat minimal.stderr
\END
\end{minipage}
+
+Note that the failure to compile \texttt{hello.c},
+ did not stop \verb+\bash+ from including
+ this file in the source.
-\section{Customization}
+Here is what \texttt{minimal.pdf} looks like:
-\subsection{Options}
+\begin{center}
+ \includegraphics[scale=0.9]{minimal.pdf}
+\end{center}
-Options to \verb+\bash+ are passed using the \textsf{xkeyval} syntax:
+
+\section{Customization}
\newcommand\option[3]{%
\noindent\(
@@ -473,8 +498,36 @@ Options to \verb+\bash+ are passed using the \textsf{xkeyval} syntax:
\langle\text{{#2}}\rangle
\)
\hfill\texttt{#3}\\}
+\subsection{Package Options}
+Options to the \verb+\bashful+ package passed using the \textsf{xkeyval} syntax:
+
+\option{hide}{\texttt{true}/\texttt{false}}{\texttt{false}}
+If \texttt{true}, scripts are
+ executed in a designated directory;
+ if \texttt{false}, scrips are executed
+ in the current working directory.
+
+\option{dir}{\sl directoryName}{}
+If \texttt{hide} option is \texttt{true}, then
+ scripts are executed in this directory.
+Initial value of this options is \verb+_00+.
+Note that if you use \TeX{}live 2010, you have to configure certain
+ security flags to make it possible to write to directories
+ whose name start with a dot, or to directories
+ which are not below the current working directory.
+
+\option{verbose}{\texttt{true}/\texttt{false}}{\texttt{false}}
+If \texttt{true}, be chatty.
+
+\subsection{Command Options}
+
+Options to \verb+\bash+ command
+ are passed using the \textsf{xkeyval} syntax:
+
+
+\subsubsection{File names}
\option{scriptFile}{\sl fileName}{\textbackslash jobname.sh}
Name of file into which the script instructions are spilled prior
to execution.
@@ -491,22 +544,55 @@ Name of file into which the shell standard output stream is
\option{stderrFile}{\sl fileName}{\textbackslash jobname.stderr}
Name of file into which the shell standard error stream is
redirected.
+
+\option{exitCodeFile}{\sl fileName}{\textbackslash jobname.stderr}
+Name of file into which the shell standard error stream is
+ redirected.
-\option{list}{\texttt{true}/\texttt{false}}{\texttt{false}}
+\subsubsection{Listing Structure}
+\option{script}{\texttt{true}/\texttt{false}}{\texttt{false}}
If \texttt{true}, the content of \texttt{scriptFile}
is listed in the main document.
\option{stdout}{\texttt{true}/\texttt{false}}{\texttt{false}}
If \texttt{true}, the content of \texttt{stdoutFile}
is listed in the main document.
-If both \texttt{list} and \texttt{stdout} are
+If both \texttt{script} and \texttt{stdout} are
\texttt{true}, then \texttt{scriptFile} is listed
first, and leaving no vertical space,
\texttt{stdoutFile} is listed next.
+\option{stderr}{\texttt{true}/\texttt{false}}{\texttt{false}}
+If \texttt{true}, the content of \texttt{stderrFile}
+ is listed in the main document, following
+ \texttt{scriptFile} (if \texttt{script} is
+ \texttt{true})
+ and
+ \texttt{stdoutFile} (if \texttt{stdout} is
+ \texttt{true}).
+
+\subsubsection{Tolerance to Errors}
+\option{ignoreExitCode}{\texttt{true}/\texttt{false}}{\texttt{false}}
+When
+ \texttt{true} \verb+\bash+ will consider
+ an execution correct even if its exit code
+ is not 0.
+
+\option{ignoreStderr}{\texttt{true}/\texttt{false}}{\texttt{false}}
+ When \texttt{true} \verb+\bash+ will consider
+ an execution correct even if produces
+ output to the standard error stream.
+
+\subsubsection{Appearance}
+
\option{prefix}{tokens}{\percentchar\textvisiblespace}
String that prefixes the listing of \texttt{scriptFile}.
+\option{environment}{enrionmentName}{none}
+Name of \LaTeX{} environment (e.g., \texttt{quote})
+ in which the listing is wrapped.
+
+\subsubsection{Miscellaneous}
\option{verbose}{\texttt{true}/\texttt{false}}{\texttt{false}}
If \texttt{true}, the package logs every step it takes.
@@ -519,13 +605,16 @@ Package
commands and their output.
\subsubsection{Listings Style for Script File}
-Style \verb+bashfulList+ is used for displaying the executed shell
- commands (when option \texttt{list} is used).
+Style \verb+bashfulScript+ is used for displaying the executed shell
+ commands (when option \texttt{script} is used).
The current definition of this style is:
\begin{verbatim}
-\lstdefinestyle{bashfulList}{
+ \lstdefinestyle{bashfulScript}{
basicstyle=\ttfamily,
+ keywords={},
showstringspaces=false}
+
+
\end{verbatim}
Redefine this style to match your needs.
@@ -536,8 +625,24 @@ Style \verb+bashfulStdout+ is used for displaying the output of the
commands (when option \texttt{stdout} is used).
The current definition is:
\begin{verbatim}
+ % listings style for the stdoutFile, can be redefined by client
\lstdefinestyle{bashfulStdout}{
basicstyle=\sl\ttfamily,
+ keywords={},
+ showstringspaces=false
+ }%
+
+\end{verbatim}
+Redefine this style to match your needs.
+
+
+Style \verb+bashfulStderr+ is used for displaying the output of the
+ executed shell
+ commands (when option \texttt{stderr} is used).
+\begin{verbatim}
+ \lstdefinestyle{bashfulStderr}{
+ basicstyle=\sl\ttfamily\color{red},
+ keywords={},
showstringspaces=false
}
\end{verbatim}
@@ -553,7 +658,18 @@ Also, in case bidirectional \TeX{}ing is in effect,
\section{History}
\begin{description}
-\item[Version 0.91] Initial release
+\item[Version 0.91] Initial release.
+\item[Version 0.92]
+\begin{itemize}
+ \item Added \texttt{ignoreExitCode},
+ \texttt{ignoreStderr}, \texttt{stderr},
+ \texttt{exitCodeFile} command options.
+
+ \item
+ Renamed \texttt{list} to \texttt{script}.
+ \item
+ Added \texttt{hide} and \texttt{dir} package options.
+ \end{itemize}
\end{description}
\section{Future}
@@ -571,16 +687,6 @@ The following may get implemented some day.
will make this package safer, by reducing the risk
of accidentally erasing existing files.
-
-\item \emph{A \texttt{ignoreExitCode} option.} When
- \texttt{true} \verb+\bash+ will consider
- an execution correct even if its exit code
- is not 0.
-
-\item \emph{A \texttt{ignoreStderr} option.} When
- \texttt{true} \verb+\bash+ will consider
- an execution correct even if produces
- output to the standard error stream.
\end{enumerate}
\section{Acknowledgments}
@@ -594,24 +700,26 @@ Martin Scharrer tips on \TeX{} internals
\appendix
\section{Source of \texttt{\jobname.sty}}
- \lstinputlisting
- [ style=input,
- basicstyle=\scriptsize\ttfamily,
- numbers=left,
- stepnumber=10,
- numberstyle=\scriptsize\rmfamily\bfseries
- ]
- {\jobname.sty}
-
-\section{Source of the Current Document}
- \lstinputlisting
- [ style=input,
- basicstyle=\scriptsize\ttfamily,
- numbers=left,
- stepnumber=10,
- numberstyle=\scriptsize\rmfamily\bfseries
- ]
- {\jobname.tex}
-
-
+ \lstinputlisting
+ [ style=input,
+ basicstyle=\scriptsize\ttfamily,
+ numbers=left,
+ stepnumber=10,
+ firstnumber=1,
+ numberfirstline=true,
+ numberstyle=\scriptsize\rmfamily\bfseries
+ ]
+ {\jobname.sty}
+
+\section{Source of \texttt{\jobname.tex}}
+ \lstinputlisting
+ [ style=input,
+ basicstyle=\scriptsize\ttfamily,
+ numbers=left,
+ stepnumber=10,
+ firstnumber=1,
+ numberfirstline=true,
+ numberstyle=\scriptsize\rmfamily\bfseries
+ ]
+ {\jobname.tex}
\end{document}