Discussion:
Problem mit xcolor bzw pdftex.def und dinbrief ...
(zu alt für eine Antwort)
Uwe Borchert
2020-10-26 14:40:17 UTC
Permalink
Hallo,

Ich bastle mit dinbrief einen Dinbrief und hänge die Unterschrift
als PDF in die Signatur. Das hat bis zum letzten Update funktioniert.
Nun gibt es eine Fehlermeldung, nach mehrmaligen Drücken auf Erpel-
oder Entertaste läuft es durch und erzeugt die Ausgabe wie gewünscht.
Hier der relevante (?) Teil aus dem Log:

<../00_input/krackel.pdf, id=1, 469.755pt x 117.43875pt>
File: ../00_input/krackel.pdf Graphic file (type pdf)
<use ../00_input/krackel.pdf>
Package pdftex.def Info: ../00_input/krackel.pdf used on input line 61.
(pdftex.def) Requested size: 142.26378pt x 35.56519pt.

! Undefined control sequence.
\***@color ...\@pdfcolorstack push{\***@color
}\aftergroup \***@color
\@outputpage ...t {\vfil \***@hbox \normalcolor
\***@xt@ \textwidth {\@theh...

\@opcol ...lumn \@outputdblcol \else \@outputpage
\fi \global \@mparbottom \...
<output> ...specialoutput \else \@makecol \@opcol
\@startcolumn \@whilesw \i...

\@getpen ...edpenalty \or \@highpenalty \else \@M
\fi
\@***@pgbk ...2]->\ifvmode \penalty #1\@getpen {#2}
\else \@bsphack \vadjust {...
<to be read again>
\@@par
\endletter ...stopletter \@@par \pagebreak \@@par
\gdef \@yourmail {} \gdef ...

\end ...ook {env/#1/end}}\csname end#1\endcsname
\@checkend {#1}\expandafte...
l.64 \end{letter}

?
! Undefined control sequence.
\***@color ...\@pdfcolorstack push{\***@color
}\aftergroup \***@color
\@outputpage ...footskip \***@hbox \normalcolor
\***@xt@ \textwidth {\@thef...

\@opcol ...lumn \@outputdblcol \else \@outputpage
\fi \global \@mparbottom \...
<output> ...specialoutput \else \@makecol \@opcol
\@startcolumn \@whilesw \i...

\@getpen ...edpenalty \or \@highpenalty \else \@M
\fi
\@***@pgbk ...2]->\ifvmode \penalty #1\@getpen {#2}
\else \@bsphack \vadjust {...
<to be read again>
\@@par
\endletter ...stopletter \@@par \pagebreak \@@par
\gdef \@yourmail {} \gdef ...

\end ...ook {env/#1/end}}\csname end#1\endcsname
\@checkend {#1}\expandafte...
l.64 \end{letter}

?

krackel.pdf ist die Datei mit der Unterschrift. In anderen Stilen
klappt das Einbauen des Krackels weiterhin. Ich komme da auch am
„Minimalbeispiel“ nicht so richtig weiter ...

%% ------------------------
%% Briefbogen Minimal.tex
%% ------------------------
%%
%% Briefeinstellungen
%%
\documentclass[12pt]{dinbrief}
\usepackage[ngerman]{babel}
\usepackage{epsfig,graphics}
\usepackage{xcolor,eso-pic}
\usepackage{textcomp}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{eurosym}
\usepackage{pifont}
\usepackage{soul}
\usepackage{xfrac}
\usepackage{ragged2e}
\usepackage{microtype}
\usepackage{pdfpages}

%%
%% ------------------------
%% Formales kommt später
%% ------------------------
\usepackage{DejaVuSans}
\renewcommand{\familydefault}{\sfdefault}


\newcommand{\setsignature}{%%
{\put(0,-5){\includegraphics[width=5cm]{../00_input/krackel.pdf}}}%%
}

%%
%% Den eigentlichen Brief erzeugen ...
%%
\begin{document}
\RaggedRight
\pagestyle{empty}
\backaddress{Anus Nymous - Unter der Rheinbrücke 13 - 76199 KA}
\signature{Anus Nymous}
\begin{letter}{%
LUser (\LaTeX User Group) \\
Stammtisch 13\\
\ \\
Bielefeld\\
}

\subject{\bf Beschwerde}
\yourmail{\ }
\opening{Sehr geehrte Forenten und Forerpel,}

leider funktioniert das jetzt nur noch mit Fehlermeldung ...

\begin{verbatim}
! Undefined control sequence.
\***@color ...\@pdfcolorstack push{\***@color
}\aftergroup \***@color
\end{verbatim}

\closing[\protect\setsignature]{Mit freundlichen Grüßen}
%% \closing{Mit freundlichen Grüßen}
\encl{}
\end{letter}
\end{document}
\end{input}

%% ------------------------
%% End of file
%% ------------------------


Hat da jemand eine Idee? Was geht da überhaupt schief?

Keep Calm and COVID on

Uwe Borchert
Uwe Borchert
2020-10-26 15:32:56 UTC
Permalink
Hallo,

Am 26.10.20 um 15:40 schrieb Uwe Borchert:

Diese Zeile rausnehmen löst das Problem erst mal ...
Post by Uwe Borchert
\usepackage{xcolor,eso-pic}
Allerdings kann ich dann einen der Briefbögen, die in Dateien
ausgelagert sind, nicht mehr nutzen. Da wurde eine Grafik als
Bild eingebunden.

Das Problem ist gelöst und nun gibt es wahlweise ein neues ...

Keep Calm and COVID on

Uwe Borchert
Ulrike Fischer
2020-10-26 17:21:14 UTC
Permalink
Post by Uwe Borchert
Hallo,
Ich bastle mit dinbrief einen Dinbrief und hänge die Unterschrift
als PDF in die Signatur. Das hat bis zum letzten Update funktioniert.
Nun gibt es eine Fehlermeldung, nach mehrmaligen Drücken auf Erpel-
oder Entertaste läuft es durch und erzeugt die Ausgabe wie gewünscht.
! Undefined control sequence.
Hat da jemand eine Idee? Was geht da überhaupt schief?
dinbrief definiert \document und \enddocument um. Das ist nicht mehr
kompatible mit einem aktuellen LaTeX.

Es gibt im firstaid Paket etwas Code, um zu vermeiden, dass dinbrief
gar nicht mehr geht, aber das repariert nicht alles: durch die
Umdefinition von dinbrief wird Code, der mit \AtBeginDocument
eingefügt wurde, nicht mehr ausgeführt.

In deinem Fall trifft das color.
Du kannst versuchen
\makeatletter\let\***@color\***@color\makeatother
nach \begin{document} einzufügen. Evtl. kann die Unterstützung in
firstaid erweitert werden, ich werde es mal diskutieren. Aber auch
wenn es dann geht: Es ist nur notdürftiges flicken. Die Klasse ist
seit zwanzig Jahre unverändert, und das merkt man.

NB: epsfig braucht man heutzutage wirklich nicht mehr.
Und \usepackage[utf8]{inputenc} kann man in einem aktuellen LaTeX
auch weglassen.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Uwe Borchert
2020-10-26 19:55:18 UTC
Permalink
Hallo,
Post by Ulrike Fischer
Post by Uwe Borchert
Ich bastle mit dinbrief einen Dinbrief und hänge die Unterschrift
als PDF in die Signatur. Das hat bis zum letzten Update funktioniert.
Nun gibt es eine Fehlermeldung, nach mehrmaligen Drücken auf Erpel-
oder Entertaste läuft es durch und erzeugt die Ausgabe wie gewünscht.
! Undefined control sequence.
Hat da jemand eine Idee? Was geht da überhaupt schief?
dinbrief definiert \document und \enddocument um. Das ist nicht mehr
kompatible mit einem aktuellen LaTeX.
OK, dann ist das in etwa klar. Die Feinheiten verstehe ich zwar
nicht, aber ungefähr wie es zum Problem kommt.
Post by Ulrike Fischer
Es gibt im firstaid Paket etwas Code, um zu vermeiden, dass dinbrief
gar nicht mehr geht, aber das repariert nicht alles: durch die
Umdefinition von dinbrief wird Code, der mit \AtBeginDocument
eingefügt wurde, nicht mehr ausgeführt.
Ok, damit verstehe ich auch was jetzt kommt ...
Post by Ulrike Fischer
In deinem Fall trifft das color.
Du kannst versuchen
nach \begin{document} einzufügen. Evtl. kann die Unterstützung in
firstaid erweitert werden, ich werde es mal diskutieren. Aber auch
wenn es dann geht: Es ist nur notdürftiges flicken. Die Klasse ist
seit zwanzig Jahre unverändert, und das merkt man.
Das sind Altbestände die seit mindestens 2 Jahrzehnte proaktiv
und nachhaltig anschlussverwendet wurden. Vielleicht sollte ich
doch mal umsteigen ... Allerdings wird das für einige Dokumente
dann irgendwie lästig ...
Post by Ulrike Fischer
NB: epsfig braucht man heutzutage wirklich nicht mehr.
\usepackage{epsfig,graphics} => \usepackage{graphicx}
Post by Ulrike Fischer
Und \usepackage[utf8]{inputenc} kann man in einem aktuellen LaTeX
auch weglassen.
Betrachte es als eine Kommentarzeile und/oder als Indexverweis
für die Suche ... grep inputenc *.tex ... Da bekomme ich für
jede Datei das Encoding gelistet. Ich habe riesige Altbestände
an kleinen Dokumenten die immer wieder recycled werden.

Welche aktuelleren Klassen gibt es so? Vorteile? Nachteile?

Keep Calm and COVID on

Uwe Borchert
Ulrike Fischer
2020-10-26 20:16:06 UTC
Permalink
Post by Uwe Borchert
Das sind Altbestände die seit mindestens 2 Jahrzehnte proaktiv
und nachhaltig anschlussverwendet wurden. Vielleicht sollte ich
doch mal umsteigen ... Allerdings wird das für einige Dokumente
dann irgendwie lästig ...
Nun, du kannst evtl. mal dies versuchen:

\makeatletter
\AddToHook{env/document/begin}{%
\def\@begindocumenthook{\UseOneTimeHook{begindocument}}}
\AddToHook{env/document/end}{%
\UseOneTimeHook{enddocument}}
\makeatother

Aber wie schon gesagt: das ist flicken. Solche Klassen sind auch
nicht anders als Brücken. Wenn man 20 Jahre nichts daran tut, dann
tauchen immer mehr Risse auf. Und irgendwann hilft es nicht mehr
einfach wegzuschauen, dann muss man sich entscheiden, ob man richtig
saniert oder neu baut.
Post by Uwe Borchert
Welche aktuelleren Klassen gibt es so? Vorteile? Nachteile?
Nun wie Rolf sagte, gibt es scrletter.Ich selbst benutze aber solche
Klassen nicht. Ich schreibe Briefe mit scrartcl + einem eigenen
Stil.
--
Ulrike Fischer
https://www.troubleshooting-tex.de/
Rolf Niepraschk
2020-10-26 18:12:46 UTC
Permalink
Am 26.10.20 um 15:40 schrieb Uwe Borchert:> Hallo,
Post by Uwe Borchert
Ich bastle mit dinbrief einen Dinbrief und hänge die Unterschrift
als PDF in die Signatur. Das hat bis zum letzten Update funktioniert.
Nun gibt es eine Fehlermeldung, nach mehrmaligen Drücken auf Erpel-
oder Entertaste läuft es durch und erzeugt die Ausgabe wie gewünscht.
Nimm statt "dinbrief" "scrletter2" (KOMAScript). Die Briefe sind auch
DIN-mäßig. Siehe KOMAScript-Dokumentation.

...Rolf
Dr Eberhard Lisse
2020-10-27 12:01:56 UTC
Permalink
Schon einmal den Brief aus Koma-Script probiert?

mfg, el
Post by Uwe Borchert
Hallo,
Ich bastle mit dinbrief einen Dinbrief und hänge die Unterschrift
als PDF in die Signatur. Das hat bis zum letzten Update funktioniert.
Nun gibt es eine Fehlermeldung, nach mehrmaligen Drücken auf Erpel-
oder Entertaste läuft es durch und erzeugt die Ausgabe wie gewünscht.
[...]

Loading...