summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/translation-moreverb-de
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-09-14 22:26:03 +0000
committerKarl Berry <karl@freefriends.org>2011-09-14 22:26:03 +0000
commit84a6f0e0a41f27c18b691b77108cfa217c417c13 (patch)
tree830988b4166f0babfe6d178aa88ee93d7cf01b8d /Master/texmf-dist/doc/latex/translation-moreverb-de
parent1720309de72694c4e699af26b975c1afd1239ca7 (diff)
new doc pkg translation-moreverb-de (14sep11)
git-svn-id: svn://tug.org/texlive/trunk@23957 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/translation-moreverb-de')
-rw-r--r--Master/texmf-dist/doc/latex/translation-moreverb-de/filecontens-de.ins.txt41
-rw-r--r--Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.pdfbin0 -> 106208 bytes
-rw-r--r--Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.tex659
3 files changed, 700 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/translation-moreverb-de/filecontens-de.ins.txt b/Master/texmf-dist/doc/latex/translation-moreverb-de/filecontens-de.ins.txt
new file mode 100644
index 00000000000..999d8acddc4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/translation-moreverb-de/filecontens-de.ins.txt
@@ -0,0 +1,41 @@
+\def\batchfile{moreverb.ins}
+\input docstrip.tex
+%\errorcontextlines999
+\preamble
+\endpreamble
+\def\batchfile{moreverb.dst} % ignored in distribution
+\input docstrip.tex % ignored in distribution
+
+\keepsilent
+
+\preamble
+
+Copyright Robin Fairbairns, 1997 2002
+
+This file is distributed under the terms of the latex project public
+licence (LPPL: see CTAN macros/latex/base/lppl.txt), version 1.2 or
+(at your convenience) any later version.
+
+\endpreamble
+
+\askforoverwritefalse
+\generate{%
+ \file{moreverb.sty}{\from{moreverb.dtx}{moreverb}}%
+}
+
+\keepsilent
+
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the file}
+\Msg{* moreverb.sty into a directory searched by TeX}
+\Msg{*}
+\Msg{* Usual TDS location:}
+\Msg{* \space\space tex/latex/misc}
+\Msg{*}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.pdf b/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.pdf
new file mode 100644
index 00000000000..fbc38f82a20
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.tex b/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.tex
new file mode 100644
index 00000000000..2161a069030
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/translation-moreverb-de/moreverb-de.dtx.tex
@@ -0,0 +1,659 @@
+%
+% \iffalse
+%
+% Copyright (C) 1997 2002 2008 2011 by
+% Robin Fairbairns <rf10@cam.ac.uk>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The current maintainer of this work is Robin Fairbairns.
+%
+% This work consists of the source files moreverb.dtx,
+% moreverb.ins
+% and the derived files moreverb.sty,
+% moreverb.pdf
+%
+% RCS information:
+%
+% $Id: moreverb.dtx,v 1.12 2011/04/18 19:03:28 rf10 Exp rf10 $
+%
+% \section{Initially: identify the package}
+%
+% We use the same body for the \cs{ProvidesFile} as for the
+% \cs{ProvidesPackage} command.
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+%<*dtx>
+\ProvidesFile{moreverb.dtx}
+%</dtx>
+%<moreverb>\ProvidesPackage{moreverb}
+ [2008/06/03 v2.3a
+%<moreverb> `more' verbatim facilities%
+%<*dtx>
+ moreverb source file%
+%</dtx>
+ ]
+% \end{macrocode}
+% Code to compile the thing using LaTeX2e
+%
+%<*driver>
+\documentclass{ltxdoc}
+%
+\setcounter{errorcontextlines}{999}
+%
+\GetFileInfo{moreverb.dtx}
+%
+% The definition of \star in ltxdoc.cls is useless (bug report
+% LaTeX/2117). \env is something I would like to have -- I'm
+% not sure this definition is entirely kosher (in any case, why aren't
+% all these things in doc.sty?)
+%
+\renewcommand\star{\texttt{*}}
+\DeclareRobustCommand\env[1]{\cs{begin\char`\{#1\char`\}}}
+%
+\begin{document}
+ \title{Das \textsf{moreverb} Paket\thanks{Diese Datei
+ hat die Versionnummer \fileversion, letzte
+ \"Uberarbeitung \filedate}}
+ \author{Robin Fairbairns (\small\texttt{rf10@cam.ac.uk})\\
+ nach\\
+ Angus Duggan, Rainer Sch\"opf and Victor
+ Eijkhout\footnote{\"Ubersetzt von \textbf{Matthias Biniok} (FSU
+ Jena),
+ September 2011.}}
+ \date{\the\year-\ifnum\month<10 0\fi\the\month
+ -\ifnum\day <10 0\fi\the\day}
+ \maketitle
+ \tableofcontents
+ \DocInput{moreverb-DE.dtx}
+\end{document}
+%</driver>
+%
+% \fi
+%
+% \CheckSum{402}
+%
+% \section{Dieses Paket}
+%
+% Dieses Paket nutzt die Ausstattung des \textsf{verbatim}
+% Pakets der \LaTeXe{}-\emph{tools}-Distribution, um eine Anzahl
+% von Dingen zur Verf\"ugung zu stellen, die in der Entwicklung des Pakets
+% als unn\"otig abgelehnt wurden. (Dennoch geh\"ort der Tabulator-Erweiterungs-Code
+% dieses Pakets zu einem der FAQs von |comp.text.tex|)
+%
+% Das Paket stellt Dinge dreier breiter Gebiete zur Verf\"ugung:
+% \begin{itemize}
+% \item Tabulator-Erweiterung und \"Ahnliches,
+% \item Zeilennummerierung,
+% \item Sonstiges: wortw\"ortlich in eine Datei schreiben (z.\,B. f\"ur
+% sp\"ateres Wiedereinsetzen), und das 'Verpacken'.
+% \end{itemize}
+%
+% \subsection{Tabulator-Erweiterung}
+%
+% Das Paket erm\"oglicht Ihnen, die voraussichtliche Breite der Tabulation
+% festzulegen und erlaubt das Einbinden von Dateien, die Tabulatoren enthalten.
+%
+% \DescribeEnv{verbatimtab}
+%
+% \env{verbatimtab}\oarg{Tab-Breite}
+% gibt dessen K\"orper\footnote{Mit K\"orper ist immer der Rumpf des Befehls gemeint.} wortw\"ortlich wieder,
+% wobei die Tabulatoren die Gr\"o\ss e der gegeben Breite haben (der Standardwert ist 8).
+%
+% \DescribeMacro{\verbatimtabinput}
+%
+% \cs{verbatimtabinput}\oarg{Tab-Breite}\marg{Datei-Name}
+% ist die Datei-Einbindungsversion der \texttt{verbatimtab}-Umgebung.
+%
+% \DescribeMacro{\verbatimtabsize}
+%
+% Die Gr\"o\ss e des Tabulators wird in \cs{verbatimtabsize} gespeichert und dauert
+% zwischen den Benutzungen der Umgebungen an. (Das hei\ss t, dass ein optionales Argument an
+% einem Element auch alle nachfolgenden Elemente betrifft.)
+%
+% \noindent Um den Wert durch etwas anderes als durch Benutzung eines
+% optionalen Arguments zu ersetzen, schreibt man:
+%
+% \cs{renewcommand}\cs{verbatimtabsize}|{|\meta{Wert}\cs{relax}|}|
+%
+% Es gibt keine Versprechungen hinsichtlich der gebotenen Leistung, wenn Sie das
+% \cs{relax} weglassen!
+%
+% \subsection{Zeilennummerierung}
+%
+% Zeilennummerierung ist oft bei der Abbildung von Code-Beispielen n\"utzlich
+% (dies ist n\"otig f\"ur diejenigen von uns, die solche Code-Schnipsel nicht
+% versch\"onigen wollen).
+%
+% \DescribeEnv{listing}
+%
+% \env{listing}\oarg{Intervall}\marg{Startzeile} nummeriert die Zeilen
+% des K\"orpers. Das Argument \meta{Startzeile} gibt die Startzeile an.
+% Das optionale Argument \meta{Intervall} legt die Anzahl der Zeilen
+% zwischen den nummerierten Zeilen fest: Das hei\ss t, jede Zeile mit der
+% Nummer \(=0\pmod{\mbox{\meta{Intervall}}}\) wird nummeriert.
+% (Au\ss erdem wird Zeilennummer 1 immer nummeriert.) Der
+% Standardwert von \meta{Intervall} ist 1 (d.\,h., es wird jede Zeile
+% nummeriert).
+%
+% \DescribeEnv{listingcont}
+%
+% \env{listingcont} f\"ahrt dort fort, wo der letzte Eintrag aufgeh\"ort hat.
+%
+% Der Stil, in dem das Label gesetzt ist, kann f\"ur eine der beiden Umgebungen ver\"andert werden,
+% durch Neudefinierung von \cs{listinglabel}. Beide Umgebungen
+% erweitern auch Tabulatoren.
+%
+% '\star'-Versionen von beiden Listing-Umgebungen werden angeboten;
+% diese machen die gew\"ohnlichen |verbatim*| Dinge mit ausgegebenen Leerzeichen wie
+% '\verb*| |', aber erweitern keine Tabulatoren.
+%
+% \DescribeMacro{listinginput}
+%
+% \cs{listinginput}\oarg{Intervall}\marg{Startzeile}\marg{Dateiname}
+% ist eine Listing-Version zum Schreiben in eine Datei. Es gibt keine '\star'-Form.
+%
+% \subsection{Sonstiges}
+%
+% \DescribeEnv{verbatimwrite}
+%
+% \env{verbatimwrite}\marg{Dateiname} schreibt allen Text seines K\"orpers in eine Datei,
+% dessen Name als Argument \"ubergeben wird.
+%
+% \DescribeEnv{boxedverbatim}
+%
+% \env{boxedverbatim} legt den Inhalt einer verbatim-Umgebung in
+% einer Rahmenbox ab. Wenn man versucht, dies auf eine 'naive' Weise zu tun, wird man sehen,
+% dass die verbatim-Zeilen alle so breit werden, wie die Breite der Seite,
+% sodass die Box h\"aufig sehr schlecht zum Text passt, den sie
+% umgibt.
+%
+% \DescribeEnv{verbatimcmd}
+%
+% Die |verbatimcmd| Umgebung wurde von der \LaTeX2.09 und
+% fr\"uheren \LaTeXe{} Versionen dieses Paketes angeboten. Jedoch werden dessen F\"ahigkeiten nun von
+% |alltt| zur Verf\"ugung gestellt, das im \textsf{alltt}-Paket definiert ist,
+% welches jetzt Teil der \LaTeX{} Grunddistribution ist, daher wurde
+% |verbatimcmd| zur\"uckgezogen.
+%
+% \StopEventually{}
+%
+% \section{Der Code des Pakets}
+%
+% \begin{macrocode}
+%<*moreverb>
+% \end{macrocode}
+%
+% \subsection{Initial-Code}
+%
+% L\"adt das \textsf{verbatim}-Paket, falls es noch nicht geladen ist.
+%
+% \begin{macrocode}
+\@ifundefined{verbatim@processline}{\RequirePackage{verbatim}}{}
+% \end{macrocode}
+%
+% \subsection{In eine Datei schreiben}
+%
+% \begin{environment}{verbatimwrite}
+% \env{verbatimwrite}\marg{Dateiname} schreibt den gesamten Text im K\"orper in eine Datei,
+% der Name der Datei wird als Argument \"ubergeben. (Dieser Code wurde
+% von Rainer Sch\"opf geschrieben.)
+%
+% Beachten Sie, dass der Code bei erstmaliger Benutzung seinen eigenen Output-Stream erzeugt.
+% (Dies ist eine Sparma\ss nahme; wenn der Benutzer
+% \env{verbatimwrite} nie benutzt, wird auch kein \cs{write}-Stream erzeugt. Ein gegenw\"artiger problematischer
+% Benutzungsfall taucht in tex.sx auf \dots)
+%
+% \begin{macrocode}
+\def\verbatimwrite#1{%
+ \@ifundefined{verbatim@out}{\newwrite\verbatim@out}{}%
+ \@bsphack
+ \immediate\openout \verbatim@out #1
+ \let\do\@makeother\dospecials
+ \catcode`\^^M\active \catcode`\^^I=12
+ \def\verbatim@processline{%
+ \immediate\write\verbatim@out
+ {\the\verbatim@line}}%
+ \verbatim@start}
+% \end{macrocode}
+% \begin{macrocode}
+\def\endverbatimwrite{%
+ \immediate\closeout\verbatim@out
+ \@esphack}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Tabulator-Erweiterung}
+%
+% Wir definieren ein paar zus\"atzliche Makros und Z\"ahler f\"ur erweiternde Tabulatoren.
+% Sie werden von den |listing|- und |verbatimtab|-Umgebungen verwendet.
+%
+% \begin{macrocode}
+\newcount\tab@position \newcount\tab@size
+% \end{macrocode}
+%
+% \cs{verbatimtabsize} ist gew\"ohnlich ein Z\"ahler, doch das scheint mir
+% \"ubertrieben (\LaTeX{} benutzt einfach zu viele Z\"ahler\dots).
+%
+% \begin{macrocode}
+\def\verbatimtabsize{8\relax}
+% \end{macrocode}
+%
+% \begin{macro}{\@xobeytab}
+%
+% \cs{@xobeytab} f\"ugt genug Leerzeichen ein, um uns zum n\"achsten
+% symbolischen Tabulatoren-Ende zu bringen.
+% \begin{macrocode}
+\def\@xobeytab{%
+ \loop
+ \toks@\expandafter{\the\toks@\@xobeysp}%
+ \advance\tab@position-1
+ \ifnum\tab@position>0 \repeat
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@vobeytabs}
+% \cs{@vobeytabs} initialisiert die Benutzung von \cs{@xobeytab}.
+% Muss innerhalb einer Gruppe ausgef\"uhrt werden, da es nicht in die weite Welt entweichen darf.
+%
+% \begin{macrocode}
+\begingroup
+ \catcode`\^^I=\active
+ \gdef\@vobeytabs{\catcode`\^^I\active\let^^I\@xobeytab}%
+\endgroup
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\verbatim@tabexpand}
+% \cs{verbatim@tabexpand}\meta{body of line}\cs{@nil} verarbeitet jeden Buchstaben einer Zeile
+% durch Endrekursion, z\"ahlt die Buchstaben und
+% jongliert ein bisschen, wenn ein Tab auftritt. (Was gew\"ohnlich
+% 'line imaging' genannt wird\dots)
+%
+% \begin{macrocode}
+\def\verbatim@tabexpand#1{%
+ \ifx#1\@nil
+% \showthe\toks@
+ \the\toks@
+ \expandafter\par
+ \else
+ \ifx#1\@xobeytab
+ \@xobeytab
+ \else
+% \end{macrocode}
+%
+% Wir k\"onnen \cs{@xobeysp} gefahrlos in das Token-Register tun, da es
+% genau das macht, was wir brauchen.
+% \begin{macrocode}
+ \toks@\expandafter{\the\toks@#1}%
+ \advance\tab@position\m@ne
+ \fi
+ \ifnum\tab@position=0 \tab@position\tab@size \fi
+ \expandafter\verbatim@tabexpand
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{listing}
+% \env{listing}\oarg{Intervall}\marg{Startzeile}
+%
+% Definiert eine verbatim-Umgebung mit nummerierten Zeilen; das optionale Argument
+% \meta{Intervall} legt die Anzahl der Zeilen zwischen den nummerierten
+% Zeilen fest, und das Argument \meta{Startzeile} gibt die Startzeile an.
+%
+% \begin{environment}{listingcont}
+% \env{listingcont}
+%
+% F\"ahrt dort fort, wo die Auflistung aufh\"ort. Der Stil, in dem das Label gesetzt ist, kann durch
+% Neudefinierung von \cs{listinglabel} ver\"andert werden.
+%
+% '\star'-Versionen beider Umgebungen werden angeboten.
+%
+% \begin{macro}{\listing@line}
+% \cs{listing@line} enth\"alt die aktuelle Zeilennummer; der Standardwert
+% ist 1, also kann man |listingcont| fr\"ohlich in einem Dokument benutzen,
+% wenn nur ein Stream von w\"ortlichem Text geschrieben wird.
+%
+% \begin{macrocode}
+\newcount\listing@line \listing@line=1
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\listing@step}
+% \cs{listing@step} ist ein anderer Fall, bei dem ein Z\"ahler gewohnt verwendet wird, ohne von sehr
+% offensichtlichem Nutzen zu sein,
+% aber ein wertvolles Z\"ahlerregister aufbraucht.
+% Auch hier ist der Wert modal; das hintere \cs{relax} ist notwendig.
+%
+% \begin{macrocode}
+\def\listing@step{1\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% Das Hinzuf\"ugen einer \cs{hbox} vor der Zeile verursacht einen
+% Zeilenumbruch, also mache ich schnell
+% dieses Geschw\"atz,\footnote{Das
+% Personalpronomen war in den Kommentaren der Originalversion
+% dieses Pakets vorhanden; ich wei\ss\ nicht, auf wen es sich bezieht
+% ~--- RF} um die Linien sch\"on ausgerichtet zu bekommen.
+% Ich habe wahrscheinlich einige offensichtliche Gr\"unde vergessen, weshalb \cs{hbox}es nicht funktionieren.
+% \footnote{Der Grund
+% ist, dass \cs{hbox} im vertikalen Modus einen kompletten Paragraphen aus eigener Kraft herstellt;
+% dieses Problem k\"onnte im Laufe der Zeit behandelt werden,
+% aber momentan\dots}.
+%
+% \begin{macrocode}
+\def\listinglabel#1{\llap{\small\rmfamily\the#1}\hskip\listingoffset\relax}
+\def\thelisting@line{%
+ \setbox0\hbox{\listinglabel\listing@line}%
+ \@tempcnta=\listing@line
+ \divide\@tempcnta\listing@step \multiply\@tempcnta\listing@step
+ \ifnum\listing@line=\@ne
+ \unhbox0
+ \else
+ \ifnum\@tempcnta=\listing@line
+ \unhbox0
+ \else
+ \hskip\wd0
+ \fi
+ \fi}
+% \end{macrocode}
+%
+% \begin{macro}{\listingoffset}
+% \cs{listingoffset} ist die Trennung zwischen der Zeilennummer und der aktuellen Zeile; der Standardwert
+% ist \verb|1.5em|.
+% \begin{macrocode}
+\providecommand\listingoffset{1.5em}
+% \end{macrocode}
+% \end{macro}
+%
+% Benutzen Sie einfach \cs{listing}, um die Parameter einzulesen und um
+% dann \cs{listingcont} zu benutzen.
+%
+% \begin{macrocode}
+\newcommand\listing[2][1]{%
+ \global\listing@line=#2\relax
+ \gdef\listing@step{#1\relax}
+ \listingcont}
+% \end{macrocode}
+%
+% \cs{listingcont} ist das funktionale Ende der zwei Umgebungen.
+%
+% \begin{macrocode}
+\def\listingcont{%
+ \tab@size=\verbatimtabsize
+ \def\verbatim@processline{\tab@position\tab@size
+ \thelisting@line \global\advance\listing@line1
+ \toks@{}%
+ \expandafter\verbatim@tabexpand\the\verbatim@line\@nil}%
+ \@verbatim\frenchspacing\@vobeyspaces\@vobeytabs\verbatim@start}
+% \end{macrocode}
+%
+% Nichts Besonderes am Ende der zwei Umgebungen.
+%
+% \begin{macrocode}
+\let\endlisting=\endtrivlist
+\let\endlistingcont=\endtrivlist
+% \end{macrocode}
+%
+% Jetzt dasselbe Geschw\"atz f\"ur die '\verb+*+' Versionen.
+%
+% \begin{macrocode}
+\expandafter\newcommand\csname listing*\endcsname[2][1]{%
+ \global\listing@line=#2\relax
+ \gdef\listing@step{#1\relax}
+ \csname listingcont*\endcsname}
+\@namedef{listingcont*}{%
+ \def\verbatim@processline{%
+ \thelisting@line \global\advance\listing@line1
+ \the\verbatim@line\par}%
+ \@verbatim\verbatim@start}
+% \end{macrocode}
+%
+% Nur ein bisschen \"Arger in den Namensdefinitionen am Ende der
+% Umgebungen.
+%
+% \begin{macrocode}
+\expandafter\let\csname endlisting*\endcsname\endtrivlist
+\expandafter\let\csname endlistingcont*\endcsname\endtrivlist
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+%
+% \begin{macro}{listinginput}
+% \cs{listinginput}\oarg{Intervall}\marg{Startzeile}\marg{Dateiname}
+% ist eine Version von listing zum Schreiben in eine Datei.
+%
+% \begin{macrocode}
+\def\listinginput{%
+ \@ifnextchar[%]
+ {\@listinginput}%
+ {\@listinginput[1]}}
+\begingroup
+ \catcode`\~=\active \lccode`\~=`\^^M \lccode`\N=`\N
+ \lowercase{\endgroup
+ \def\@listinginput[#1]#2#3{\begingroup
+ \global\listing@line=#2
+ \gdef\listing@step{#1\relax}
+ \tab@size=\verbatimtabsize
+ \def\verbatim@processline{\tab@position\tab@size
+ \thelisting@line \global\advance\listing@line1
+ \toks@{}%
+ \expandafter\verbatim@tabexpand\the\verbatim@line\@nil}%
+ \@verbatim\frenchspacing\@vobeyspaces\@vobeytabs
+ \def\verbatim@addtoline##1~{%
+ \verbatim@line\expandafter{\the\verbatim@line##1}}%
+ \openin\verbatim@in@stream=#3
+ \ifeof\verbatim@in@stream
+ \PackageWarning{moreverb}{No file #3.}%
+ \else
+ \do@verbatimtabinput
+ \closein\verbatim@in@stream
+ \fi
+ \endtrivlist\endgroup
+ \@doendpe
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{verbatimcmd}
+% \texttt{verbatimcmd} war eine verbatim-Umgebung mit Ausnahme der
+% Escape- und Gruppierungselemente \verb+\+, \verb+{+, \verb+}+.
+% Das ist (err) genau die Spezifikation der \texttt{alltt}
+% Umgebung, und es ist im \textsf{alltt} Paket, welches jetzt Teil der
+% Grunddistribution ist.
+% \begin{macrocode}
+\def\verbatimcmd{%
+ \PackageError{moreverb}{The verbatimcmd environment is obsolete}%
+ {Use alltt (from the LaTeX required package
+ alltt) in place of verbatimcmd}%
+}
+\let\endverbatimcmd\relax
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{environment}{boxedverbatim}
+% \texttt{boxedverbatim} legt den Inhalt einer verbatim-Umgebung in
+% einer Rahmenbox ab.
+%
+% (Geschrieben von Victor Eijkhout.)
+%
+% \noindent Fehlerbehebung:
+% \begin{itemize}
+% \item David Carlisle 1995-12-28, Besch\"aftigung mit Platzthemen (iirc)
+% \item Moretn H\o gholm 2008-06-01, Positionierung von Rahmen in Listen
+% \end{itemize}
+%
+% Zuerst redefiniert man 'processline', um nur eine Zeile, so breit wie
+% die nat\"urliche Breite der Zeile, herzustellen.
+%
+% \begin{macrocode}
+\def\boxedverbatim{%
+ \def\verbatim@processline{%
+ {\setbox0=\hbox{\the\verbatim@line}%
+ \hsize=\wd0 \the\verbatim@line\par}}%
+% \end{macrocode}
+%
+% Nun speichert man den verbatim-Code in einer Box.
+%
+% \begin{macrocode}
+ \@minipagetrue % DPC
+ \@tempswatrue % DPC
+ \@totalleftmargin\z@ % MH
+ \setbox0=\vbox\bgroup \verbatim
+}
+% \end{macrocode}
+%
+% Am Ende der Umgebung, m\"ussen wir (umm) die Resultate einfach in
+% einen Rahmen stecken.
+%
+% \begin{macrocode}
+\def\endboxedverbatim{%
+ \endverbatim
+ \unskip\setbox0=\lastbox % DPC
+% \end{macrocode}
+%
+% Jetzt ist alles in der Box, also k\"onnen wir sie schlie\ss en\dots
+% \begin{macrocode}
+ \egroup
+% \end{macrocode}
+%
+% Um den Code zum Zentrieren zu \"andern, ben\"otigt die n\"achste Zeile
+% eine Stelle zum Schnippeln.
+% \begin{macrocode}
+ \fbox{\box0}%
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{verbatimtab}
+% \env{verbatimtab}\oarg{tab width}
+% ist eine verbatim-Umgebung, welche Tabulatoren erweitert; das optionale
+% Argument legt den Abstand zwischen den Tab-Stops fest.
+%
+% Das Ausf\"uhren von \cs{obeylines}, bevor man sich das optionale Argument ansieht, verhindert eine leere
+% erste Zeile der Umgebung, die ein \cs{par}
+% Zeichen wird (dieser Fehler wurde von Werner Lemberg berichtet).
+% \begin{macrocode}
+\newenvironment{verbatimtab}{\obeylines\@verbatimtab}{\endtrivlist}
+% \end{macrocode}
+%
+% Dies verarbeitet das optionale Argument von |verbatimtab|, sodass wir uns
+% nun von den gef\"urchteten \cs{par} Zeichen gesch\"utzt haben:
+% \begin{macrocode}
+\newcommand\@verbatimtab[1][\verbatimtabsize]{%
+ \do@verbatimtab{#1}{%
+ \@verbatim\frenchspacing\@vobeyspaces\@vobeytabs\verbatim@start}%
+}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\do@verbatimtab}
+%
+% Stellt eine Umgebung f\"ur Tabulatoren bereit; \verb+#1+ ist der Wert der Tabulator-Gr\"o\ss e
+% (in der Regel, urspr\"unglich ein optionales Argument), \verb+#2+ sind die 'Start-Kommandos', die
+% ausgef\"uhrt werden sollen,
+% sobald eine passende Definition von
+% \cs{verbatim@processline} eingef\"uhrt wurde:
+% \begin{macrocode}
+\def\do@verbatimtab#1#2{%
+ \tab@size=#1
+ \def\verbatim@processline{\tab@position\tab@size
+ \toks@{}%
+ \expandafter\verbatim@tabexpand\the\verbatim@line\@nil}%
+ #2%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\verbatimtabinput}
+% \cs{verbatimtabinput}\oarg{Tab-Breite}\marg{Dateiname}
+% ist die Version der \texttt{verbatimtab}-Umgebung zum Schreiben in eine Datei.
+%
+% Wir benutzen den Input-Stream der vom \textsf{verbatim}-Paket erworben wurde; wir ben\"otigen es schließlich
+% zum Laden.
+% (Man muss zugeben, dass der Name des Streams nicht wirklich
+% Teil der definierten Schnittstelle des Pakets ist,
+% aber auf der anderen Seite gibt es keine besondere Wahrscheinlichkeit,
+% dass es sich jemals \"andern wird.)
+%
+% Wir benutzen (urspr\"unglich) keine ausgefallenen Eigenschaften von \cs{newcommand}, da die Definition
+% innerhalb einer Gruppe war,
+% und damit global. Also \dots\
+% 'traditioneller' Code, um einen Befehl mit einem optionalen Argument
+% anzubieten (was wahrscheinlich nicht mehr n\"otig ist):
+%
+% \begin{macrocode}
+\def\verbatimtabinput{%
+ \@ifnextchar[%]
+ {\@verbatimtabinput}%
+ {\@verbatimtabinput[\verbatimtabsize]}}
+\begingroup
+\catcode`\~=\active \lccode`\~=`\^^M \lccode`\N=`\N
+\lowercase{\endgroup
+ \def\@verbatimtabinput[#1]#2{\begingroup
+ \do@verbatimtab{#1}{%
+ \@verbatim\frenchspacing\@vobeyspaces\@vobeytabs}%
+ \def\verbatim@addtoline##1~{%
+ \verbatim@line\expandafter{\the\verbatim@line##1}}%
+ \openin\verbatim@in@stream=#2
+ \ifeof\verbatim@in@stream
+ \PackageWarning{moreverb}{No file #2.}
+ \else
+ \@addtofilelist{#2}%
+ \do@verbatimtabinput
+ \closein\verbatim@in@stream
+ \fi
+ \endtrivlist\endgroup\@doendpe}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\do@verbatimtabinput}
+% Ausgeschriebene Schleife (Endrekursion) zum Lesen der Datei:
+% \begin{macrocode}
+\def\do@verbatimtabinput{%
+ \read\verbatim@in@stream to \verbtab@line
+ \ifeof\verbatim@in@stream
+ \else
+ \expandafter\verbatim@addtoline\verbtab@line
+ \verbatim@processline
+ \verbatim@startline
+ \expandafter\do@verbatimtabinput
+ \fi
+}
+%</moreverb>
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+%
+\endinput
+%
+%% \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
+%% Lower-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
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}