Sie sind hier

Paket adrconf verlangt nicht vorhandene Datei scrpage.sty

Nachdem ich das im KOMA-Script Lehrbuch in den Kapiteln 4.22. und 9 empfohlene Paket adrconv des KOMA-Pioniers Axel Kielhorn bei CTAN heruntergeladen und installiert habe, bekomme ich beim Versuch die in Kapitel 4.22. empfohlene und bei der Installation original erzeugte Datei adrdir.tex mit pdflatex zu kompilieren den Hinweis, dass scrpage.sty fehlt.

! LaTeX Error: File `scrpage.sty' not found.
Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty)

Ich kann also den Namen eines anderen Style-Files angeben, und da scrpage.sty weder auf meinem Rechner noch im WWW zu finden ist, habe ich scrlayer.sty angegeben. Daraufhin erhalte ich die folgenden Meldungen:

LaTeX Warning: You have requested package `scrpage', but the package provides `scrlayer'.
! Package scrkbase Error: internal error using \KOMA@kav@replacevalue{.scrlayer.sty}.
See the scrkbase package documentation for explanation.
Type  H <return>  for immediate help.

UND DANN WEITER:

? H
You've found an internal error either in KOMA-Script or a third party definition, that uses KOMA-Script internal macros.
Please send a bug report with a minimal but complete example, that shows this error, to komascript at gmx dot info or report it at <http://www.komascript.de/forum/20> (you need an account to do so).

Hier also die original adrdir.tex-Datei, die ich unter Xubuntu im Terminal wie o.a. mit
$pdflatex adrdir.tex zu kompilieren versucht habe, NUN JEDOCH MIT KOMMENTAREN ZUM LEICHTEREN AUFFINDEN ZWISCHEN %%%-ZEILEN, DIE BEI VERWENDUNG DAS PROBLEM LÖSEN KÖNNTEN:

\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{%
   adrdir%
  .tex%
  }
  [2010/04/02 v1.3 LaTeX2e
  Interactive address directory generation]
\documentclass[headsepline,10pt,twoside,pagesize]{scrartcl}
\newcommand*\jj {j}
\newcommand*\ja {ja}
\newcommand*\y  {y}
\newcommand*\yes{yes}
\newread\ttyin
\newcommand*{\gobble}[1]{}
\def\iden#1{#1}
\def\strip#1#2 \gobble{\def #1{#2}}
\def\defpar{\par}
\def\Ask#1#2{%
    \message{#2}\read\ttyin to #1\ifx#1\defpar\def#1{}\else
    \iden{\expandafter\strip\expandafter#1#1\gobble\gobble}
    \gobble\fi}
\newif\ifGerman
\newif\ifRunningHead
\newif\ifEmail
\newdimen\leftfield
\newdimen\rightfield
\newdimen\adrindent
\oddsidemargin  -1in
\evensidemargin -1in
\newcommand*\adrfile{}
\newcommand*\adrtitle{}
\typeout{^^J%
   *** dir.tex v2.0 by Frank Neukam <01 Dec 1993>^^J%
   *** LaTeX2e-changes by Markus Kohm 1994/10/29^^J%
   *** ADRconv-changes by Axel Kielhorn 1999^^J%
   *** ngerman-changes by Markus Kohm 2001^^J%
   ^^J%
   To create a address-directory just answer the questions:^^J%
   ^^J}
\Ask\answer{Use german? [y/n]^^J%
  Mit deutscher Sprachanpassung? [j/n]}
\ifx\jj\answer\Germantrue\else
\ifx\ja\answer\Germantrue\else
\ifx\y\answer\Germantrue\else
\ifx\yes\answer\Germantrue\else
                \Germanfalse\fi\fi\fi\fi
\ifGerman
  \def\germanpackage{ngerman}
  \Ask\answer{Mit alter deutscher Rechtschreibung? [j/n]}
  \ifx\jj\answer\def\germanpackage{german}\else
    \ifx\ja\answer\def\germanpackage{german}\else
      \ifx\y\answer\def\germanpackage{german}\else
        \ifx\yes\answer\def\germanpackage{german}\fi\fi\fi\fi
     \usepackage{\germanpackage}
\fi
\Ask\answer{^^JPrint email? [y/n]^^J%
  E-Mail ausgeben? [j/n]}
\ifx\jj\answer\Emailtrue\else
\ifx\ja\answer\Emailtrue\else
\ifx\y\answer\Emailtrue\else
\ifx\yes\answer\Emailtrue\else
                \Emailfalse\fi\fi\fi\fi
\ifEmail
\usepackage{url}
\fi
\InputIfFileExists{dir.cfg}{%
  \typeout{Load local configuration-file.}}{%
  \typeout{No local configuration-file found.}}
\Ask\adrfile{^^J%
  Name of address-file (without .adr)?^^J%
  Name der Adressdatei (ohne .adr)?}
\Ask\adrtitle{^^J%
  Title of directory/list?^^J%
  Titel des Verzeichnisses?}
\Ask\adrformat{^^J%
  Name of the layout^^J%
  Layoutname?}
\Ask\answer{^^J%
  With running head? [y/n]^^J%
  Namen in der Kopfzeile? [j/n]}
\ifx\jj\answer\RunningHeadtrue\else
\ifx\ja\answer\RunningHeadtrue\else
\ifx\y\answer\RunningHeadtrue\else
\ifx\yes\answer\RunningHeadtrue\else
               \RunningHeadfalse\fi\fi\fi\fi
\ifRunningHead
\usepackage{scrpage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% statt \usepackage{scrpage}:
%\usepackage{scrlayer-scrpage}
%%%%%%% 2017.12.28, Hinweis von Markus Kohm %%%%%%%%%
 
\renewpagestyle{headings}{%
  (0pt,0pt)%
  {\strut\rightmark\ -- \leftmark\hfil}%
  {\hfil\strut\rightmark\ -- \leftmark}%
  {\hfil\strut\rightmark\ -- \leftmark\hfil}%
  (\textwidth,.4pt)%
  }{%
  (0pt,0pt)%
  {\pagemark\hfill}%
  {\hfill\pagemark}%
  {\hfill\pagemark\hfill}%
  (0pt,0pt)}
\fi
\def\headfont{\sffamily\bfseries}
\ifx\adrformat\empty
  \def\adrformat{adrdir}
\fi
\InputIfFileExists{\adrformat.cfg}{}{%
  \typeout{^^J%
    *** File \adrformat.cfg not found!^^J%
    *** Datei \adrformat.cfg nicht gefunden!^^J%
    ^^J}
  }
\begin{document}
\ifRunningHead
  \def\adrchar#1{\typeout{#1}}
\else
  \def\adrchar#1{\clearpage\typeout{#1}\markboth{#1}{#1}}
\fi
\def\adrentry#1#2#3#4#5#6#7#8{\hspace{\adrindent}%
 \parbox[b]{\leftfield}
   {\raggedright \hspace{-\adrindent}{\sc #1}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% statt {\raggedright \hspace{-\adrindent}{\sc #1}%
% {\raggedright \hspace{-\adrindent}{\normalfont \scshape #1}%
%%%%%%%%%%%%% 2017.12.28, Felix Lion %%%%%%%%%%%%%%%%%%%%%%%%%
    \def\tempa{#1}\ifx \tempa\empty \else , #2\fi%
    \def\tempa{#3}\ifx \tempa\empty \else \par #3\fi%
    \ifEmail
      \def\tempa{#5}\ifx \tempa\empty \else \par \url{#5}\fi%
    \fi
    \def\tempa{#7}\ifx \tempa\empty \else \par (#7)\fi%
   }%
 \hfill%
 \parbox[b]{\rightfield}
   {\raggedleft%
    \def\tempa{#8}\ifx \tempa\empty \else {\scriptsize #8}\par \fi
    {\small #4}%
   }\par%
 \ifRunningHead
   \markboth{#1}{#1}
 \fi
}
\ifx\adrfile\empty \else
     \InputIfFileExists{\adrfile.adr}{%
     \pagestyle{empty}
     \null\vfil
     \begin{center}
       {\Large \sfb \adrtitle\par}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% statt {\Large \sfb \adrtitle\par}
% {\Large \normalfont \sffamily \bfseries \adrtitle\par}
%%%%%%%%%%%%% 2017.12.28, Felix Lion %%%%%%%%%%%%%%%%%%%
    \end{center}
     \vfil\vfil\null
     \cleardoublepage
     \raggedbottom
     \pagestyle{headings}
     }{%
     \typeout{^^J%
              *** File \adrfile.adr not found!^^J%
              *** Datei \adrfile.adr nicht gefunden!^^J%
              ^^J}
     }
\fi
\end{document}
\endinput

adrconv ist kein KOMA-Script-Paket. Du musst Dich also an dessen Autor wenden. In der Tat verwendet die Beispieldatei adrdir.tex noch das schon lange veraltete scrpage. Du kannst das entweder via koma-script-obsolete beispielsweise aus dem KOMA-Script-Repository installieren oder die Beispieldatei als das nehmen, was sie ist: ein Beispiel, und dann scrpage und dessen Befehle mit Hilfe der KOMA-Script-Anleitung oder dem KOMA-Script-Buch durch scrlayer-scrpage ersetzen, ganz nach dem Motto: Schlau mitgedacht ist besser als dumm nach gemacht.

Da es für scrpage keinerlei Support mehr gibt, empfehle ich letzteres.

Mittlerweile habe ich nicht nur die oben empfohlene Veränderung am Tex-Muster von Axel Kielhorn angebracht sondern die ebenfalls nötigen Veränderungen bei
{\Large \sfb \adrtitle\par} zu:
{\Large \normalfont \sffamily \bfseries \adrtitle\par} und
{\raggedright \hspace{-\adrindent}{\sc #1} zu:
{\raggedright \hspace{-\adrindent}{\normalfont \scshape #1} eingeflochten.
Aber was sollte ich tun, es hieß doch ausdrücklich:
Please send a bug report with a minimal but complete example, that shows this error, to komascript at gmx dot info or report it at <http://www.komascript.de/forum/20> (you need an account to do so)
Tut mir leid für die Mühe.

Felix

Wenn zwei das Gleiche sagen, müssen sie noch lange nicht dasselbe meinen.

Davon abgesehen, dass man scrpage.sty natürlich nicht ohne weitere Änderung durch scrlayer.sty ersetzen kann, kann KOMA-Script selbst natürlich nicht erkennen, ob hier ein Anwender ein Problem verursacht hat oder Code verantwortlich ist, den der Anwender von jemand anderem bekommen hat. Mir ist aber wichtig, dass ein Problem nicht einfach unter den Tisch gekehrt wird. Daher die Meldung. Das ist ja auch zu Deinem Vorteil. Du weißt jetzt zum einen, dass die Beispiele im Paket adrconv teilweise stark veraltet sind, und zum anderen, dass man nicht einfach scrpage.sty durch scrlayer.sty ersetzen kann.

Es ist auch zu meinem Vorteil, denn mir war gar nicht bewusst, wie sehr adrconv veraltet ist. Ich muss jetzt überlegen, ob ich die Zeit aufbringen kann, den ganzen veralteten Code darin durch neuen zu ersetzen und Axel das Ergebnis als Änderungsvorschlag zu unterbreiten oder ob ich das Kurzkapitel über adrconv einfach aus dem Buch rauswerfe.

Da Du bereits wesentliche Änderungen vorgenommen hast, wäre es toll, wenn Du diese Axel per E-Mail zur Verfügung stellen würdest (am besten als komplette Dateien, beispielsweise adrdir-neu.tex, nicht nur die Code-Ausschnitte). Du kannst Dich gerne auf mich berufen und mich auch in den Verteiler aufnehmen.

Comments for "Paket adrconf verlangt nicht vorhandene Datei scrpage.sty" abonnieren