Gelöst: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Gelöst: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 02.09.2021 14:02:15

Hallo zusammen,

nachdem ich meinen Laptop auf Bullseye aktualisiert habe, bekomme ich beim Übersetzen von bestimmten LaTeX-Quellen den folgenden Fehler:

Code: Alles auswählen

...
(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
File: l3backend-dvips.def 2020-01-29 L3 backend support: dvips

! Missing \endcsname inserted.
<to be read again>
                   \protect
l.151 ...ckend_separation_init_ /DeviceCMYK :nnn }
                                                   #1#2#3
Irgendwie kommt mir das bekannt vor, und ich meine, dass ich das vor Bullseye auch schon einmal hatte, kann mich allerdings nicht mehr an die Lösung erinnern.

Ich vermute, dass das l3backend Zeug irgendwie nicht so recht mit einem größeren LaTeX-Paket zusammenarbeiten möchte, das ich für das Erstellen einer Problemschachzeitschrift benötige. Möglicherweise gibt es da eine Namenskollision bei irgendwelchen Befehlen.

Habt ihr irgendwelche Tipps, wie ich das Lösen - oder zumindest einfach eingrenzen kann?

Viele Grüße
Stefan
Zuletzt geändert von shoening am 06.09.2021 09:46:16, insgesamt 1-mal geändert.
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

alberich
Beiträge: 189
Registriert: 27.12.2019 10:12:24

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von alberich » 02.09.2021 17:36:33

Wahrscheinlich geht es um ein falsch verwendetes Zeichen, aber was soll man da schon groß sagen können ohne ein (Minimal-)Beispiel?

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 03.09.2021 07:57:30

Hallo,

hier mein Minimalbeispiel:

Code: Alles auswählen

\documentclass{schwalbe}
\begin{document}
\end{document}
Die Klassen "schwalbe.cls" und Styles "schwalbe.sty" und "diagram.sty" habe ich vor mehreren Jahren auf CTAN veröffentlicht und werden auch von mir weitergepflegt. Bei Debian sind die im Paket Debiantexlive-games enthalten. Da sich der Fehler erst durch den Umstieg auf debian 11 - bullseye ergeben hat, vermute ich hier dessen Ursache.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

TuxPeter
Beiträge: 1962
Registriert: 19.11.2008 20:39:02
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von TuxPeter » 03.09.2021 11:44:40

Hi,
Ich habe den Fehler nachvollzogen, texlive-games installiert und Dein Beispiel in TexStudio zu kompilieren versucht. Ergebnis:

Code: Alles auswählen

! LaTeX Error: File `pstricks.sty' not found.
der entsprechende Ausschnitt aus diagram.sty:

Code: Alles auswählen

\RequirePackage{pstricks}
%%
%%
%%
\chardef\f@ur=4
\chardef\@ight=8
\newcount\elchfont
Das wird Dir vermutlich kaum weiterhelfen, aber ich in in Latex nicht besonders firm, meine zwei größeren Projekte sind schon länger her.

Grund für meinen Beitrag ist auch, dass ich bei meinen alten Projekten unter Debian 11 auch auf Fehler lief, falls also Korrekturen nötig sind, muss ich das wohl noch unter "Oldstable" machen.
Meine Fehlermeldung, auf:

Code: Alles auswählen

\usepackage[defaultlines=2,all]{nowidow}
erfolgt:

Code: Alles auswählen

! LaTeX Error: File `nowidow.sty' not found.
Hatte eigentlich die gleichen Packages wie unter Debian 10 (neu) installiert. (und habe auch lange fruchtlos herumgesucht) Ob vielleicht die Paketzuordnungen geändert wurden? Jedenfalls, nach Installation von texlive-latex-extra kompilierte er wider.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 03.09.2021 13:01:51

Hallo,

mir hat jetzt ein bekannter eine andere Version von l3backend-dvips.def zugesandt, mit der der Fehler bei nicht mehr auftritt.
Den habe ich auf nopaste abgelegt: NoPaste-Eintrag41457

Das Problem scheint daher wirklich am Zusammenspiel der l3backend-dvips.def und den von mir sonst verwendeten Paketen zu liegen.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von eggy » 03.09.2021 13:48:23

Unter sid brauchts texlive-games und texlive-lang-cyrillic.
Dann gibt pdflatex "No pages of output." aus. Erweiter ich das Beispiel um ein "hallo" im Text, gibts nen pdf, allerdings nun mit nen paar Warnungen "Non-PDF special ignored!"
Womit compilierst Du?
Sind die Probleme bei Dir schon beim Minimalbeispiel, oder erst wenn Du es ein wenig mit Inhalt befüllst?

alberich
Beiträge: 189
Registriert: 27.12.2019 10:12:24

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von alberich » 03.09.2021 14:06:17

Code: Alles auswählen

\documentclass{schwalbe}
\begin{document}
\end{document}
Funktioniert bei mir problemlos. Allerdings habe ich eine TeXLive Installation und nicht das Debian Zeugs.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 04.09.2021 09:01:31

Hallo,

@eggy:

Ich kompiliere mit latex. Ich habe einige der debian texlive Pakete installiert:

Code: Alles auswählen

i  texlive - TeX Live: A decent selection of the TeX Live packages
i A texlive-base - TeX Live: Essential programs and files
i A texlive-binaries - Binaries for TeX Live
i A texlive-extra-utils - TeX Live: TeX auxiliary programs
i A texlive-font-utils - TeX Live: Graphics and font utilities
i  texlive-fonts-extra - TeX Live: Additional fonts
i A texlive-fonts-extra-links - TeX Live: Setup of fonts for TeX Live and search via kpathsea
i A texlive-fonts-recommended - TeX Live: Recommended fonts
i  texlive-games - TeX Live: Games typesetting
i  texlive-lang-cyrillic - TeX Live: Cyrillic
i  texlive-lang-german - TeX Live: German
i A texlive-latex-base - TeX Live: LaTeX fundamental packages
i  texlive-latex-extra - TeX Live: LaTeX additional packages
i A texlive-latex-recommended - TeX Live: LaTeX recommended packages
i A texlive-luatex - TeX Live: LuaTeX packages
i A texlive-pictures - TeX Live: Graphics, pictures, diagrams
i A texlive-plain-generic - TeX Live: Plain (La)TeX packages
i  texlive-pstricks - TeX Live: PSTricks
Der Fehler tritt bei mir eben bereits mit einem leeren Dokument auf, weil die l3backend-dvips.def Datei im \begin{document} geladen wird - zumindest habe ich das so in irgendeinem Kommentar gelesen.

Wenn Du ein Beispiel sehen möchtest, dass auch Inhalt erzeugt, dann nimm folgendes:

Code: Alles auswählen

\documentclass{schwalbe}

\begin{document}

\Heft{XXXV}{310}{8}{2021}{181}

\begin{Urdrucke}{18626}

%
\begin{diagram}
\label{Sw310_2M_01}
\author{Lipton, Michael}
\city{GB--Brighton}
\pieces[10+5]{wKg2, wTe8, wLf2g8, wSh3e5, wBc2c4f4g4,
sKe4, sDa5, sTh5a6, sLa8}
\stip{\#2~vvvv}
\end{diagram}
%

\end{Urdrucke}
\end{document}
Wenn das in SID funktioniert, dann lass mir doch mal die l3backend-dvips.def zukommen. Oder schreib mal auf, wie ich mir die selbst aus dem entsprechenden SID Paket ziehen kann.

Vielen Dank
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von eggy » 04.09.2021 09:35:45

"pdflatex" laeuft durch, "latex" gibt die genannte Fehlermeldung.

Auch wenn "Datei aus sid klauen" hier nicht hilft, grundsätzlich gehts so:

Code: Alles auswählen

apt-get install apt-file
apt-file update
apt-file search  l3backend-dvips.def
# texlive-latex-base paket holen
# gibt mehrere Wege, z.B. via 
# https://packages.debian.org/search?searchon=names&keywords=texlive-latex-base
# da z.B. auf sid gehen, runterschrollen, wenn vorhanden Deine Architektur auswählen sonst "all"
#Mirror auswählen und per wget holen, hier z.B. 
wget http://ftp.de.debian.org/debian/pool/main/t/texlive-base/texlive-latex-base_2020.20210202-3_all.deb
mkdir foo
dpkg -x texlive-latex-base_2020.20210202-3_all.deb foo
find foo -iname l3backend-dvips.def

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von eggy » 05.09.2021 00:57:24

Schau mal in schwalbe.cls, ziemlich am Ende, ich denk der Fehler ist da zu Suchen

Code: Alles auswählen

\def\sol@slash{\nobreak\hskip\z@ plus 2\p@\char`/\hskip\z@ plus 2\p@\discretionary{}{}{}}
\catcode`/=\active\relax\let/\sol@slash\relax\catcode`/=12%
\def\bsol{\catcode`/=\active\relax}
\def\esol{\catcode`/=12\relax}
\bsol
\renewcommand{\cpd@begindiagram@hook}{\esol}
\renewcommand{\cpd@enddiagram@hook}{\bsol}
aber frag mich nicht was da passiert
(falls Du weißt, was Du da gemacht hast, würd ich mich über ne Erklärung freuen)

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 05.09.2021 15:05:24

Hallo eggy,

das kann ich erklären. Erst einmal der „fachliche“ Hintergrund:

Wenn bei den Schachaufgaben Lösungen notiert werden, dann notieren wir Varianten mit eindeutigen Fortsetzungen durch einen / getrennt.
Also z.B.
4.Lc7/Df4/g4 c2+/b5/Sh3
Damit ich nicht immer manuell für Zeilenumbrüche bei den / sorgen muss, habe ich den Befehl
\sol@slash definiert, der ein Umbrechen der Zeile vor oder hinter dem Slash erlaubt. Das mit den \catcode sorgt dafür, dass der / von TeX als Kommando angesehen wird, und dieses Umbrechen von selbst passiert.

Damit ich das Ein- und Ausschalten kann, gibt es \bsol (einschalten) und \esol.

Ich hatte bereits an anderer Stelle ein Problem mit dieser Konstruktion - innerhalb von \begin{diagram} und \end{diagram} - daher die Konstruktion mit dem \cpd@begindiagram@hook und \cpd@enddiagram@hook.

Ich probier mal, ob mein Code noch funktioniert, wenn ich das Aktivieren des / als active char erst nach dem \begin{document} aktiviere.

Vielen Dank für das sehr aufmerksame Studieren der schwalbe.cls.
Darauf wäre ich selbst sicherlich nie gekommen.

Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Benutzeravatar
ralli
Beiträge: 3913
Registriert: 02.03.2008 08:03:02

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von ralli » 05.09.2021 17:20:09

Ich arbeite seit 16 Jahren intensiv mit LaTeX und habe viele Workshops und selbst Bücher damit verfaßt. Probleme gab es bei mir nie. Allerdings käme ich auch nie auf die Idee, mir ein eigenes LaTeX zusammen zu friemeln. Bei den letzten Debian Versionen gab es zu früher einen bis zu 90% reduzierte Anzahl an Paketen. Ich installiere immer Lyx, das reicht und funktioniert für mich. Das einzige Paket, was ich nachinstalliere, ist texlive-lang-german. Texmaker und einige andere Editoren, alles ausprobiert, es lief beim compilieren immer durch. Ich benutze immer hyperref, damit ein strukturieres Inhaltsverzeichnis erstellt wird. Allerdings bin ich kein LaTex Experte. Habe mir mal eine Vorlage erstellt, die ich immer wieder benutze.

Allerdings bin ich auch kein Freund von Distributionsupgrade, sondern bevorzuge immer eine Neuinstallation. Das ist wirklich kein Aufwand und ich fühle mich auf der sicheren Seite.

Gruß ralli
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

alberich
Beiträge: 189
Registriert: 27.12.2019 10:12:24

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von alberich » 06.09.2021 02:45:42

BTW: Unter einer TeXLive Installation funktioniert es mit `latex' natürlich auch nicht. Bin gar nicht auf die Idee gekommen, das zu versuchen.

Na ja, eine scheibchenweise Infopolitik ist es dann vielleicht auch nicht gerade:

- Erst kein Beispiel
- Dann ein nicht funktionierendes, weil inhaltsleeres
- Keine Info wie kompiliert wurde
- Und dann — Überraschung — es ist das eigene Paket

Aber mit @Glück, weil @eggy mit beeindruckender Genauigkeit sich das angeschaut hat.

Benutzeravatar
ralli
Beiträge: 3913
Registriert: 02.03.2008 08:03:02

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von ralli » 06.09.2021 07:07:37

pstricks wird mit einer abgespeckten Latex (Lyx) Installation nicht mitinstalliert. Ich mußte auch schon mal texlive-fonts-extra nachinstallieren. Bei speziellen Anforderungen ist es sicher sinnvoll, eine komplette Texlive Installation (nicht Debian) vorzunehmen. Aber selbst dabei hatte ich früher schon mal Probleme. Aber meine Anforderungen sind halt minimalistisch, deshalb genügt mir eine Minimalinstallation mit Lyx. Für meine Bedürfnisse brauchte ich überhaupt kein LaTeX zu installieren, denn wenn ich unter Libreoffice die Exportfunktion für LaTeX benutze, habe ich das selbe Ergebnis wie mit Lyx, auch mit Gliederung und Hyperlinks. Ansonsten kann ich zur Problemlösung leider nichts beitragen, teile lediglich meine Erfahrung mit LaTeX.

Gruß ralli
Wer nicht lieben kann, muß hassen. Wer nicht aufbauen kann muß zerstören. Wer keine Brücken baut, muß spalten.

Benutzeravatar
shoening
Beiträge: 898
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von shoening » 06.09.2021 09:44:32

Hallo zusammen,

anhand von eggys Hinweis konnte ich das Problem durch Anpassung der schwalbe.cls korrigieren - das Problem sitzt also vor meiner Tastatur - mea culpa.

Als Lösung habe ich das Aktivieren des Befehls für den Slash mittels \bsol verzögert, indem ich das per \AtBeginDocument{\bsol} mache.

Den 2. Kritikpunkt von alberich wg. des „inhaltsleeren Beispiels“ kann ich allerdings nicht nachvollziehen, denn schon dieses „inhaltsleere Beispiel“ produziert den Fehler - und ist daher aus meiner Sicht optimal, weil es kein unnötiges Beiwerk enthält.

Die fehlende Info wg. „wie wird übersetzt“ entstand aus der in diesem Fall sicherlich vorhandenen „Betriebsblindheit“. Ich erstelle diese Schachzeitschrift jetzt seit 25 Jahren mit LaTeX. Auch wenn am Schluss ein PDF hinten herauskommt, mache ich das mittels latex -> dvips -> ps2pdf.
Das mache ich so, weil gelegentlich 'pstricks.sty' zum Einsatz kommt, und das kann pdflatex nicht.

Danke dafür, dass ich durch eggys Hinweis nicht nur irgendeine Lösunge habe, sondern wahrscheinlich die tatsächliche Ursache beheben konnte.
Ich frage mich nur noch, wie er darauf gekommen ist.

Viele Grüße
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von eggy » 06.09.2021 09:49:50

Ich find das hier völlig ok. Zwar hätte ein voll funktionierendes Minimalbeispiell im ersten Post die Sache für alle einfacher gemacht, aber der Thread läuft doch gut. shoening wollte doch nur Ideen zur Fehlersuche und wissen, ob das Problem nur bei ihm auftritt - und das konnten wir klären: nein, auch bei anderen ist somit nicht da wo er vermutete, sondern in einem der eingebetteten Packages zu suchen.

Dass es an dem Schwalbepaket liegt, ist halt so. Dass er selbst der Autor ist, ist doch auch super. Denn damit können wir das gleich fixen und in der nächsten Debianversion ist so ein Fehler weniger drin :THX:

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von eggy » 06.09.2021 09:56:15

shoening hat geschrieben: ↑ zum Beitrag ↑
06.09.2021 09:44:32
Ich frage mich nur noch, wie er darauf gekommen ist.
Im mini-Minimalbeispiel gabs ja nichts anderes :mrgreen:
Dann schaut man einfach mal was zum Paket gehört (.cls, .sty) und kopiert sich das mit ins Verzeichnis des Minimalbeispiels.
Dann der Einfachheit halber (kann übersprungen werden) alles in nen git einchecken.
Dann solange Zeug rauslöschen und compilieren, bis der Fehler weg ist, dann solange Zeug wieder rein tun (git sei Dank) und compilieren bis der Fehler wieder da ist. Das macht man zwischen 2 Minuten und 2 Wochen und dann hat man den Fehler. Oder man gibt vorher auf, weil es einem zu langweilig ist und man nicht dafür bezahlt wird ... hier ging's relativ schnell, sonst hätt ich das vermutlich auch nicht bis zum Ende verfolgt. Ich lern halt gerne neue Sachen und den Fehler kann ich noch nicht, daher: alles ok so.

alberich
Beiträge: 189
Registriert: 27.12.2019 10:12:24

Re: Seit Bullseye (?) LaTeX fehler beim Übersetzen / l3backend

Beitrag von alberich » 06.09.2021 22:47:39

eggy hat geschrieben: ↑ zum Beitrag ↑
06.09.2021 09:49:50
Ich find das hier völlig ok. Zwar hätte ein voll funktionierendes Minimalbeispiell im ersten Post die Sache für alle einfacher gemacht, aber der Thread läuft doch gut. shoening wollte doch nur Ideen zur Fehlersuche und wissen, ob das Problem nur bei ihm auftritt - und das konnten wir klären: nein, auch bei anderen ist somit nicht da wo er vermutete, sondern in einem der eingebetteten Packages zu suchen.

Dass es an dem Schwalbepaket liegt, ist halt so. Dass er selbst der Autor ist, ist doch auch super. Denn damit können wir das gleich fixen und in der nächsten Debianversion ist so ein Fehler weniger drin :THX:
Stimmt natürlich; wo du recht hast, hast du recht. :wink:

Antworten