% ====================================================================== % komabug.tex % Copyright (c) Markus Kohm, 1995-2009 % % This file is part of the LaTeX2e KOMA-Script bundle. % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3b of the license. % The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3b or later is part of all distributions of LaTeX % version 2005/12/01 or later and of this work. % % This work has the LPPL maintenance status "author-maintained". % % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % komabug.tex % Copyright (c) Markus Kohm, 1995-2009 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3b, verteilt und/oder veraendert werden. % Die neuste Version dieser Lizenz ist % http://www.latex-project.org/lppl.txt % und Version 1.3b ist Teil aller Verteilungen von LaTeX % Version 2005/12/01 oder spaeter und dieses Werks. % % % Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" % (allein durch den Autor verwaltet). % % Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. % % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== %% %% @ is a letter %% \catcode`\@=11 %% %% Grab the initex file list %% %% If this file is called via %% latex "\input{latexbug}" or some %% similar command sequence rather than %% latex latexbug %% then the debugging info in \reserved@a will already have been lost. %% This might not matter, but if it does we may ask the user to resubmit %% the report. \ifx\reserved@b\@undefined \ifx\reserved@a\@gobble \def\@inputfiles{NONE} \else \let\@inputfiles\reserved@a \fi \else \def\@inputfiles{LOST} \fi %% %% Output stream to produce the bug report template. %% \newif\ifinteractive\interactivetrue \newwrite\@msg \immediate\openout\@msg=\jobname.msg \immediate\write\@msg{% An fatal error occured before writing anything to the message file.^^J% You should have a look at \jobname.log to see the reason of the error.^^J% ^^J% Maybe you didn't use an interactive terminal to run ``latex komabug''.^^J% At this case you should try an interactive terminal or add^^J% \space\space\space\space\string\interactivefalse^^J% to your local ``komabug.cnf'' to create an empty message.^^J% You have to edit that message file after creating the empty message.^^J% } \immediate\closeout\@msg\let\msg\m@ne %% %% We have no end line char (so we have no paragraphs) %% \endlinechar=-1 %% %% Check that LaTeX2e is being used. %% \ifx\undefined\newcommand \newlinechar`\^^J% \immediate\write17{^^J% You must use LaTeX2e to generate the bug report!^^J^^J% Sie muessen LaTeX2e verwenden, um die Fehlermeldung zu erzeugen!}% \let\relax\end \else \def\@tempa{LaTeX2e}\ifx\@tempa\fmtname\else \immediate\write17{^^J% You must use LaTeX2e to generate the bug report!^^J^^J% Aeltere Versionen von LaTeX werden nicht unterstuetzt.^^J% Sie muessen LaTeX2e verwenden, um die Fehlermeldung zu erzeugen!}% \let\relax\@@end \fi\fi %% %% \wmsg writes to the terminal, and the .msg file %% \wmsg* just writes to the .msg file %% \typeout just writes to the terminal %% \def\wmsg{% \ifnum\msg<0\relax\let\msg\@msg\immediate\openout\msg=\jobname.msg\fi \begingroup \@ifstar {\interactivefalse\@wmsg}{\@wmsg} } \def\@wmsg#1{% \ifinteractive\immediate\write17{#1}\fi% \immediate\write\msg{#1}% \endgroup } %% %% Prompt for an answer from the user, if the answer is not %% provided by the cfg file. %% \def\readifnotknown#1{% \@ifundefined{#1}% {{\message{#1> }% \catcode`\^^I=12 \let\do\@makeother\dospecials \global\read\m@ne t\expandafter o\csname#1\endcsname}}% {\message{\csname#1\endcsname}}} %% %% Get number %% #1 = message %% #2 = max value %% --> \answer %% \def\scannumber#1{\@tempswatrue \typeout{`#1'}% \def\@tempa{\expandafter\@scannumber\expandafter0#1\@nil}% \edef\@tempa{\@tempa}% \count@\@tempa\relax \if@tempswa\else\count@\z@\relax\fi }% \def\@scannumber#1{% \ifx\@nil#1\else \if 0#1#1\else \ifnum 0<0#1 #1\else \noexpand\@tempswafalse% \fi \fi \expandafter\@scannumber \fi }% \def\ReadNumber#1#2{% \typeout{#1}% \ifenglish \message{Input the corresponding number between 1 and #2: }% \else \message{Geben Sie die betreffende Zahl zwischen 1 und #2 ein: }% \fi \count@=\z@\relax \read\m@ne to \answer \scannumber{\answer}% \ifnum\count@>\number#2\relax \count@=\z@\relax \fi % \typeout{\the\count@ > 0?}% \ifnum\count@>\z@\relax % \typeout{YES}% \advance\count@ by \m@ne \edef\answer{\the\count@}% \message{^^J}% \else % \typeout{NO}% \ifenglish \typeout{Value not valid!}% \else \typeout{Wert nicht im erlaubten Bereich!}% \fi \pause \def\@tempa{\ReadNumber{#1}{#2}}% \expandafter\@tempa \fi } %% %% Get Yes or No %% #1 Question %% --> \if@tempswa (yes is true, no is false) %% \def\ReadYesNo#1{% \typeout{#1}% \ifenglish \message{Answer `yes' or `no': }% \read\m@ne to \answer \else \message{Antworten Sie bitte mit `ja' oder `nein': }% \read\m@ne to \answer \edef\answer{\uccode`\expandafter\@car\answer\@nil} \ifnum \answer=`J \def\answer{\uccode`Y}\fi \fi \def\@tempa{\message{^^J}}% \ifnum \answer=`Y \@tempswatrue \else \ifnum \answer=`N \@tempswafalse \else \ifenglish \typeout{Answer not valid!}% \else \typeout{Antwort unverstaendlich!}% \fi \def\@tempa{\ReadYesNo{#1}}% \fi \fi \@tempa } %% %% Pause so messages do not scroll off screen. %% \def\pause{% \ifinteractive \ifenglish \message{Press to continue. }% \else \message{Mit der -Taste geht es weiter. }% \fi \read\m@ne to \@tempa \message{^^J}% \fi } %% %% german or english report generator %% \newif\ifenglish\englishfalse %% %% Opening Banner. %% \InputIfFileExists{komabug.cfg}{% \ifenglish \typeout{** using komabug.cfg **}% \else \typeout{** komabug.cfg wird verwendet **}% \fi }{} \ifenglish \typeout{^^J% ============================================================^^J% ^^J% KOMA bug report generator^^J% =========================^^J% Running this file through LaTeX generates a formular ``\jobname.msg''^^J% containing a bug report to KOMA-Script bundle.^^J^^J% * Please use german, if possible.^^J \space If you're not able to use german, write the report in english.^^J% * Please write a short report not a large one.^^J% * Please tell me everything, which may be important.^^J} \pause \else \typeout{^^J% ============================================================^^J% ^^J% KOMA-Script Fehlermeldungsgenerator^^J% ===================================^^J% Die Bearbeitung dieser Datei mit LaTeX erzeugt das Formular \jobname.msg,^^J% um Fehlermeldungen zum KOMA-Script-Paket zu melden.^^J^^J% * Schreiben Sie Ihre Meldung nach Moeglichkeit in Deutsch.^^J \space Notfalls ist auch Englisch moeglich.^^J% * Bitte fassen Sie sich kurz.^^J% * Bitte halten Sie keine Information zurueck, die moeglicherweise^^J \space wichtig sein koennte.^^J}% \typeout{% If you prefere english, you may write a file ``komabug.cfg'' with\space contents:^^J\space \string\englishtrue^^J% at same folder as ``komabug.tex'' and restart ``latex komabug.tex''.^^J}% \englishtrue\pause\englishfalse \fi %% %% if \interactivefalse just make a blank template. %% \ifinteractive \ifenglish \ReadYesNo{% There are two kinds of using this generator.^^J% At the interactive mode, you have to answer questions. At the other^^J% mode an empty formular will be generated, you have to fill using^^J% an editor.^^J^^J% Do you want an interactive session? }% \else \ReadYesNo{% Dieser Generator kann auf zwei Arten verwendet werden.^^J% Im interaktiven Betrieb, werden Ihnen Fragen zur direkten Beantwortung^^J% gestellt. Ansonsten wird ein leeres Formular erzeugt, das Sie dann mit^^J% einem Editor ausfuellen muessen.^^J^^J% Wollen Sie eine interaktive Sitzung? }% \fi \if@tempswa\interactivetrue\else\interactivefalse\fi \fi %% %% Fatal error %% \def\fatalerror#1{% \ifenglish \errhelp{This error is fatal! You cannot continue.^^J% You should terminate using `x' and restart ``latex komabug''.}% \errmessage{#1}% \else \errhelp{Dieser Fehler erlaubt keine Fortsetzung der Bearbeitung.^^J% Sie sollten mit `x' abbrechen und ``latex komabug'' neu starten.}% \errmessage{#1}% \fi \batchmode\csname @@end\endcsname \fatalerror{#1}% } %% %% Try to get Version %% \def\GetFileVersionWithExtend#1#2{% \def\ProvidesFile##1{\@ifnextchar [{\@P@F}{\@P@F[1996/10/31 ]}}% \def\@P@F[##1 ##2]{\xdef\komaversion{##1}\csname endinput\endcsname}% \let\ProvidesClass\ProvidesFile \let\ProvidesPackage\ProvidesFile \InputIfFileExists{#1#2}{}{% \ifenglish \def\noscrclass{% ! File ``#1#2'' not found!^^J% ! The file must be at the same folder like ``komabug.tex''^^J% ! or must be readable by LaTeX to get the version information!}% \else \def\noscrclass{% ! Die Datei ``#1#2'' konnte nicht gefunden werden!^^J% ! Zur Bestimmung der aktuellen Version ist es unbedingt^^J% ! erforderlich, dass diese Datei sich im selben Verzeichnis^^J% ! wie ``komabug.tex'' befindet oder zumindest von LaTeX^^J% ! gefunden werden kann!}% \fi \errmessage{\noscrclass} \ifenglish \errhelp{Terminate TeX using `x' and restart komabug} \else \errhelp{Beenden Sie TeX mit `x' und starten Sie komabug neu} \fi }% } \def\GetVersion#1{% \GetFileVersionWithExtend{#1}\@empty } \ifinteractive \ifenglish \ReadNumber{% There are several categories, related to several parts and files^^J% of the KOMA-Script bundle:^^J^^J 1) Installation of KOMA-Script^^J 2) KOMA-Script manual^^J 3) Basics (scrbook, scrreprt, scrartcl, scrlttr2, typearea, scrlfile)^^J 4) Pagestyle definition (scrpage2)^^J 5) Time or date (scrtime, scrdate)^^J 6) Address file handling (scraddr)^^J 7) Obsolete (scrlettr, scrpage)^^J% }{7}% \else \ReadNumber{% Verschiedene Bereiche werden von diesem Generator unterstuetzt, die^^J% sich auf verschiedene Dateien im KOMA-Script-Paket beziehen:^^J^^J 1) Auspacken und Installieren von KOMA-Script^^J 2) KOMA-Script-Anleitung^^J 3) Grundfunktion (scrbook, scrreprt, scrartcl, scrlttr2, typearea, scrlfile)^^J 4) Definition von Seitenstilen (scrpage2)^^J 5) Zeit oder Datum (scrtime, scrdate)^^J 6) Umgang mit Adressdateien (scraddr)^^J 7) Obsoletes (scrlettr, scrpage)^^J% }{7}% \fi \ifcase\expandafter\number\answer % 1 \def\category{Installation}\GetVersion{scrkvers.dtx} \let\categoryversion\komaversion \or % 2 \def\category{Manual}\GetVersion{scrartcl.cls} \let\categoryversion\komaversion \or % 3 \def\category{Basics}\GetVersion{scrartcl.cls} \let\categoryversion\komaversion \or % 4 \def\category{Addons, scrpage2}\GetVersion{scrpage2.sty}% \let\categoryversion\komaversion\GetVersion{scrartcl.cls} \or % 5 \def\category{Addons, scrtime/date}\GetVersion{scrtime.sty}% \let\categoryversion\komaversion\GetVersion{scrartcl.cls} \or % 6 \def\category{Addons, scraddr}\GetVersion{scraddr.sty}% \let\categoryversion\komaversion\GetVersion{scrartcl.cls} \or % 7 \ifenglish \typeout{These obsolete parts of KOMA-Script are unsupported!^^J% You should use scrlttr2 instead of scrlettr and scrpage2 instead of scrpage.} \else \typeout{Fuer diese obsoleten Teile von KOMA-Script gibt es keinen Support mehr!^^J% Sie sollten scrlttr2 an Stelle von scrlettr bzw. scrpage2 an Stelle von^^J% scrpage verwenden.} \fi \batchmode\csname @@end\endcsname \fi \else% \ifinteractive \ifenglish \def\category{} \def\categoryversion{} \else \def\category{} \def\categoryversion{} \fi \GetVersion{scrartcl.cls} \fi \ifinteractive \ifenglish \typeout{^^J% ===========================================================^^J% ^^J% Please give a one line description (< 50 chars) of your problem.% ^^J^^J% If your using email for sending the report, please use this^^J% description as subject, too:% ^^J \@spaces\@spaces\space |<------------------------------------------------>|} \else \typeout{^^J% ============================================================^^J% ^^J% Bitte eine einzeilige (< 50 Zeichen) Beschreibung des Problems.% ^^J^^J% Wenn Sie fuer die Meldung eMail verwenden, setzen Sie diese Beschreibung^^J% bitte auch als Betreff (`Subject') der eMail ein:% ^^J \@spaces\@spaces\space |<------------------------------------------------>|} \fi \loop \let\synopsis\relax \readifnotknown{synopsis} \ifx\synopsis\@empty \repeat \else%\ifinteractive \ifenglish \def\synopsis{} \else \def\synopsis{} \fi \fi %% %% Header in the msg file. %% \ifenglish \wmsg*{^^J% KOMA bug report.^^J% \ifinteractive Interactive \else Formular \fi generated using komabug.tex at \space\number\year-\two@digits\month-\two@digits\day.^^J% ^^J You may send this message to komascript@gmx.info.^^J% If you do so, please use subject:^^J% \space KOMA-BUG:\space\synopsis^^J% ============================================================^^J } \else \wmsg*{^^J% KOMA-Fehlermeldung.^^J% \ifinteractive Interaktiv \else Formular \fi erzeugt mit komabug.tex am \space\number\year-\two@digits\month-\two@digits\day.^^J% ^^J% Die Meldung kann per E-Mail an komascript@gmx.info^^J% verschickt werden.^^J% Bitte verwenden Sie dabei als Betreff:^^J% \space KOMA-BUG:\space\synopsis^^J% ============================================================^^J } \fi %% %% Category of bug, obtained earlier but put out now, after the header. %% \wmsg{>Bereich: \category} \wmsg{>Version: \categoryversion} %% %% synopsis of bug, obtained earlier but put out now, after the header. %% \wmsg{>Betreff: \synopsis} \begingroup \global\let\format\@empty \gdef\hyphenation{standard} \def\immediate#1#{\xdef\hyphenation} \def\typeout#1{\xdef\format{\format#1}} \the\everyjob \endgroup \wmsg{>Format: \format} \wmsg{>KOMA-Script: \komaversion} \ifinteractive %% %% if interactive, \wread reads a line (verbatim) and write it to the %% .msg file, until a blank line is entered. %% \def\wread{{% \catcode`\^^I=12 \let\do\@makeother\dospecials \let\lastanswer\answer \message{=> }\read\m@ne to \answer \ifx\lastanswer\@empty \let\lastanswer\answer \fi \ifx\lastanswer\@empty \else \immediate\write\msg{\answer} \expandafter\wread \fi }% } \else %% %% If non-interactive, \wread just writes a blank line to the .msg file, %% and \wmsg does not write to the terminal. %% \def\wread{\wmsg{}} \fi %% %% \copytomsg copies the contents of a file into the .msg file. %% (at least it does it as well as TeX can, so there may be %% transcription problems with 8-bit characters). %% %% It does a line count, and complains if the test file is %% too large. \chardef\inputfile=15 \newcount\linecount \def\copytomsg#1{{% \endlinechar=-1 \def\do##1{\catcode`##1=11}% \dospecials \global\linecount\z@ \openin\inputfile#1\relax \def\thefile{#1}% \@copytomsg \closein\inputfile}} \def\@copytomsg{% \ifeof\inputfile \typeout{*** \thefile\space Zeilen = \the\linecount} \else \global\advance\linecount\@ne \read\inputfile to \inputline \ifx\inputline\@empty \wmsg*{} \else \wmsg*{\inputline} \fi \expandafter\@copytomsg \fi} %% %% Test the age of the current format. %% \def\getage#1/#2/#3\@nil{% \count@\year \advance\count@-#1\relax \multiply\count@ by 12\relax \advance\count@\month \advance\count@-#2\relax} % \expandafter\getage\fmtversion\@nil %% %% \count@ should now be the age of the format in months. %% \ifnum\count@>24 \ifenglish \def\oldformat{^^J% ! Your LaTeX installation is older than two years.^^J% ! Updating woul dbe a good idea before sending this report.^^J% ! You should compare the date of the package with the date of^^J ! the used LaTeX version. If LaTeX is more than two years older^^J ! than KOMA-Script, this could be the reason of the problem.} \errhelp{If you want to continue, press .} \else \def\oldformat{^^J% ! Ihre LaTeX-Installation ist ueber zwei Jahre alt.^^J% ! Bitte denken Sie ueber ein Update nach, ehe Sie diese Meldung^^J% ! abschicken.^^J% ! Vergleichen Sie wenigstens das Datum des Paketes mit dem Datum^^J% ! der LaTeX-Version. LaTeX sollte nicht mehr als zwei Jahre aelter^^J% ! als KOMA-Script sein. Ansonsten koennte der Fehler in einer^^J% ! Unvertraeglichkeit zwischen Format- und Paketversion liegen.} %% %% Put the message in a macro to improve the look of the error mesage. %% % \errhelp{Wenn Sie dennoch fortfahren wollen, druecken Sie einfach .} \fi \errmessage{\oldformat} \fi % \expandafter\getage\komaversion\@nil \ifnum\count@>18 \ifenglish \def\oldversion{^^J% ! Your KOMA-Script installation is older than one year.^^J% ! You should check for an update, bevor you're sending this message.^^J ! You should compare the date of the package with the date of^^J ! the used LaTeX version. If LaTeX is years younger than KOMA-Script,^^J ! this could be the reason of the problem.} \errhelp{If you want to continue, press .} \else \def\oldversion{^^J% ! Ihre KOMA-Script-Version ist ueber ein Jahr alt.^^J% ! Bitte denken Sie ueber ein Update nach, ehe Sie diese Meldung^^J% ! abschicken.^^J% ! Vergleichen Sie wenigstens das Datum des Paketes mit dem Datum^^J% ! der LaTeX-Version. LaTeX sollte nicht Jahre juenger als KOMA-Script sein.^^J% ! Ansonsten koennte der Fehler in einer Unvertraeglichkeit zwischen^^J% ! Format- und Paketversion liegen.} \errhelp{Wenn Sie dennoch fortfahren wollen, druecken Sie einfach .} \fi \errmessage{\oldversion} \fi %% %% Now use \wmsg and \wread for each of the multi-line fields %% in the form. Currently one-line fields use \read directly. %% \ifinteractive \ifenglish \typeout{^^JYour name:} \else \typeout{^^JIhr Name:} \fi \readifnotknown{name} \else \ifx\name\undefined \ifenglish \def\name{} \else \def\name{} \fi \fi \fi \ifinteractive \ifenglish \typeout{^^JYour address (email if possible):} \else \typeout{^^JIhre Adresse (eMail bevorzugt):} \fi \readifnotknown{address} \else \ifx\address\undefined \ifenglish \def\address{} \else \def\address{} \fi \fi \fi \ifinteractive \ifenglish \typeout{^^JYour computer system (z. B. Atari, Linux, Mac, Win98SE):} \else \typeout{^^JDas verwendete Computersystem (z. B. Atari, Linux, Mac, Win98SE):} \fi \readifnotknown{computersystem} \else \ifx\computersystem\undefined \ifenglish \def\computersystem{} \else \def\computersystem{} \fi \fi \fi \wmsg*{>Adresse: \name\space<\address>} %% %% >Organisation: is really a GNATS multiline field %% but we treat it as a one-line field. %% \wmsg*{>Organisation: \ifx\organisation\undefined \ifx\organization\undefined\else \organization \fi \else \organisation \fi} %% %% Test which format is being used. These fields are completed %% automatically even if the blank template is being produced. %% \wmsg*{>Voraussetzungen:} \wmsg*{ \string\@TeXversion: \meaning\@TeXversion \ifx\@TeXversion\@@undefined \space (Standardeinstellung fuer TeX3.141 und spaeter)\fi} \wmsg*{ \string\@currdir: \meaning\@currdir} \wmsg*{ \string\input@path: \meaning\input@path \ifx\input@path\@@undefined \space (Standardeinstellung)\fi} \wmsg*{ System: \computersystem} \wmsg*{>Beschreibung:} \ifinteractive \ifenglish \typeout{% Description of your problem:^^J^^J% \@spaces You can use multiple lines (each is askes by the prompt^^J% \@spaces ``=>'').^^J% \@spaces Use two blank lines to finish your answer.} \else \typeout{% Beschreibung des Problems:^^J^^J% \@spaces Die Beantwortung dieser Frage kann mehrere Zeilen^^J% \@spaces einnehmen (jede wird durch die Eingabeaufforderung^^J% \@spaces ``=>'' eingeleitet).^^J% \@spaces Durch zwei aufeinanderfolgende Leerzeilen wird die^^J% \@spaces Antwort beenden.} \fi \else \ifenglish \wmsg{} \else \wmsg{} \fi \fi \wread %% %% insertion of the test file %% \ifinteractive \ifenglish \typeout{^^J% Name of a short self describing file, which shows the problem^^J% (file should be as short as possible, not more than 60 lines):^^J^^J% If the file is not at current directory please enter the hole^^J% name (directory inclusive), so LaTeX may load it.^^J^^J% If no testfile exists, because your not reporting a bug at a class^^J% or package, simply press .} \else \typeout{^^J% Name einer KURZEN, SELBSTERKLAERENDEN Datei, bei der das Problem^^J% auftritt (die Datei sollte wirklich so kurz wie moeglich sein,^^J% nicht mehr als 60 Zeilen):^^J^^J% Damit LaTeX diese Datei einlesen kann, geben Sie bitte den kompletten^^J% Namen einschliesslich des Verzeichnisses an, falls die Datei nicht im^^J% aktuellen Verzeichnis zu finden ist.^^J^^J% Falls Sie keinen Fehler in einer der Klassen oder Pakete melden und^^J% daher keine Testdatei existiert, druecken Sie einfach .} \fi \message{filename> }\read\m@ne to \filename \else \let\filename\@empty \fi %% %% Try to find the .tex file and .log file %% \ifx\filename\@empty \ifinteractive \ifenglish \ReadNumber{^^J^^JNo Testfile.^^J^^J% Three kinds of reports are possible:^^J^^J% 1) SW bug:^^J\@spaces Software bug, you have to add a test file!^^J 2) DOC bug:^^J\@spaces Bug at manual or you do not understand the manual.^^J 3) Ask for change:^^J\@spaces Not a bug, but you'd like a change or simply help.^^J}{3} \else \ReadNumber{^^J^^JKeine Testdatei.^^J^^J% Drei Arten von Meldungen werden unterstuetzt:^^J^^J% 1) SW-Fehler:^^J\@spaces Software-Fehler, unbedingt eine Testdatei beilegen!^^J 2) DOC-Fehler:^^J\@spaces Fehler in oder unverstaendliche Anleitung.^^J 3) Aenderungswunsch:^^J\@spaces Kein Fehler sondern eine Frage nach Aenderung oder Hilfe.^^J}{3} \fi \else \def\answer{0}% \fi \else \def\answer{0}% \filename@parse\filename \IfFileExists{\filename}{\edef\samplefile{\filename}% \IfFileExists{\filename@area\filename@base.log}{% \edef\logfile{\filename@area\filename@base.log}% }{% \IfFileExists{\filename@area\filename@base.lis}{% \edef\logfile{\filename@area\filename@base.lis}% }{% \ifenglish \typeout{^^J% Log file ``\filename@area\filename@base.log'' not found.^^J% Please add the log file at ``\jobname.msg''.}% \else \typeout{^^J% Logdatei ``\filename@area\filename@base.log'' nicht gefunden.^^J% Bitte ergaenzen Sie das Beispiel in ``\jobname.msg''.}% \fi \pause }% }% }{% \ifenglish \typeout{^^J% Test file ``\filename'' not found.^^J% Please add the test file at ``\jobname.msg''.} \else \typeout{^^J% Beispieldatei ``\filename'' nicht gefunden.^^J% Bitte ergaenzen Sie das Beispiel in ``\jobname.msg''.} \fi \pause }% \fi \ifcase\expandafter\number\answer \ifinteractive\wmsg{>Unterbereich: SW-Fehler}\fi \wmsg*{% Beispieldatei, die das Problem verdeutlicht:^^J% ============================================} \ifx\samplefile\undefinedcommand \ifenglish \typeout{^^J! Please add test file and log file at your report message!}% \else \typeout{^^J! Bitte ergaenzen Sie Beispiel- und LOG-Datei in der Meldung!}% \fi \pause \ifenglish \wmsg*{} \else \wmsg*{} \fi \else %% %% The example file goes here: %% \copytomsg{\samplefile} \ifnum\linecount>60 \ifenglish \typeout{% ^^J% !!! Your test file has \the\linecount\space lines.^^J% !!! Large test files make it difficult to find the cause of the problem:^^J% !!! ^^J% !!! Please decrease your test file as much as possible.^^J} \else \typeout{% ^^J% !!! Ihre Testdatei ist \the\linecount\space Zeilen lang.^^J% !!! So grosse Testdateien erschweren die Ursachenfindung:^^J% !!! ^^J% !!! Bitte verkleinern Sie Ihre Testdatei, soweit das ueberhaupt^^J% !!! moeglich ist, so dass das Problem gerade noch auftritt.^^J} \fi \pause \fi \fi \wmsg*{^^J% LOG-Datei vom LaTeX-Lauf der Beispieldatei:^^J% ===========================================} \ifx\logfile\undefinedcommand \ifenglish \typeout{^^J% Log file of your test file not found.^^J% Please add the log file of your test file at ``\jobname.msg''.} \wmsg*{} \else \typeout{^^J% Log-Datei zur Testdatei nicht gefunden.^^J% Bitte ergaenzen Sie die LOG-Datei in ``\jobname.msg''.} \wmsg*{} \fi \pause \else \copytomsg{\logfile} \fi \or \wmsg{>Unterbereich: DOC-Fehler} \or \wmsg{>Unterbereich: Aenderungswunsch} \fi %% %% Closing Banner. %% \typeout{^^J% ============================================================} \ifinteractive \ifenglish \typeout{^^J% You may edit file ``\jobname.msg'' for additional changes.} \else \typeout{^^J% Weiteren Aenderungen koennen sie direkt in der Datei^^J% ``\jobname.msg'' mit Hilfe eines Editors vornehmen.} \fi \else \ifenglish \typeout{^^J% The formular of the report will be saved to ``\jobname.msg''.^^J% Please use an editor to replace all information fields, before^^J% sending it.} \else \typeout{^^J% Das Formular fuer die Erstellung der Meldung wurde in die^^J% Datei ``\jobname.msg'' geschrieben, die Sie bitte mit Hilfe^^J% eines Editors ergaenzen, bevor Sie sie abschicken.} \fi \fi \let\ifinteractivetrue\iftrue \ifenglish \typeout{^^J% Please send ``\jobname.msg'' to komascript@gmx.info using subject:^^J% \@spaces ``KOMA-BUG:\space\synopsis''^^J% ^^J% Thank you for spending time for a bug report.} \else \typeout{^^J% Wenn Sie ueber eMail verfuegen, so senden Sie ``\jobname.msg''^^J% bitte an komascript@gmx.info.^^J% Verwenden Sie dabei bitte als Betreff (Subject):^^J% \@spaces ``KOMA-BUG:\space\synopsis''^^J% ^^J% Danke, dass Sie sich die Zeit genommen haben.} \fi \wmsg*{^^J% ============================================================^^J Ende der KOMA-Fehlermeldung.^^J% ============================================================} %% %% Close the .msg output stream. %% \immediate\closeout\msg %% %% This is the TeX primitive \end command. %% \@@end %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: