htlatex schlägt mit benutzerdefinierter Dokumentklasse fehl: Fehler LaTeX-Fehler: Datei „E-Mail“ nicht gefunden

htlatex schlägt mit benutzerdefinierter Dokumentklasse fehl: Fehler LaTeX-Fehler: Datei „E-Mail“ nicht gefunden

Ich habe eine benutzerdefinierte Klasse für einen persönlichen Lehrplan erstellt. Sie finden sie unter

https://github.com/igormorgado/elegantcv

Es lässt sich gut mit pdlatex, XeTeX und LuaLaTeX kompilieren, aber der Versuch, htlatexes damit zu kompilieren, schlägt mit folgendem Fehler fehl:

Error LaTeX Error: File 'email' not found

Ich weiß nicht genug, um ein MWE zu debuggen oder zu erstellen, das denselben Fehler auslöst (habe es versucht). Wenn ich alle Verweise auf meine benutzerdefinierte Klasse entferne, wird der Fehler behoben, aber das ist kein echtes MWE für das Problem selbst.

Was ich frage ist:

  1. Wie man richtig debuggt, um den Fehler zu verstehen und das Problem richtig zu benennen (und es möglicherweise selbst zu beheben);

  2. Wie erstelle ich eine makellose, gut geschriebene, benutzerdefinierte Dokumentklasse, die ich auch mit htlatex ausführen kann, ohne dass Warnungen oder Fehler auftreten?

  3. Wie löse ich dieses Problem und kann eine HTML-Version meiner Latex-Klasse erstellen?

Um das Problem zu reproduzieren, gehen Sie einfach (unter der Annahme von Unix)

git clone https://github.com/igormorgado/elegantcv
cd elegantcv
make html

PS: Ich weiß, dass das Erstellen externer Referenzen nicht die beste Art ist, mit SO-Fragen umzugehen, aber wäre es besser, die ganze Klasse hier einzufügen? Wenn ja, kann ich das machen.

Antwort1

Ich habe einen weiteren Fehler mit der Beispieldatei in Ihrem Repo, der durch die Tabelle verursacht wurde. Das Problem ist, dass Memoir, das Sie als Basisklasse verwenden, \cmidruleandere Befehle aus dem Booktabs-Paket direkt definiert, anstatt das Paket anzufordern. Aus diesem Grund tex4htkönnen gepatchte Versionen dieser Befehle nicht geladen werden und es tritt ein Kompilierungsfehler auf. Ich habe das in den tex4htQuellen behoben, sodass es in Zukunft nicht mehr auftreten sollte. Das Problem ist, dass TeX Live derzeit eingefroren ist, sodass der Fix nur in TL 2019 enthalten sein wird.

In der Zwischenzeit können Sie die folgende Konfigurationsdatei verwenden elegantcv.4ht:

\input booktabs.4ht
\Hinput{elegantcv}
\endinput

Die Zeile \input booktabs.4htmuss entfernt werden, sobald TL2019 veröffentlicht wird, da sie mit dem Code in kollidieren würde memoir.4ht.

Es ist möglich, andere Dinge in die Datei einzufügen elegantcv.4ht, zum Beispiel Makros aus Ihrer Klasse neu zu definieren, um HTML-Code einzufügen. Sie können die Tags direkt hier einfügen oder, besser, in einer Konfigurationsdatei. Siehe meineTutorial für Details. Ich würde auf jeden Fall einige CSS-Stylings hinzufügen.

So sieht es sofort nach dem Auspacken aus:

Bildbeschreibung hier eingeben

verwandte Informationen