
Ich versuche, ein sehr einfaches Paket für die Verwendung mit einer Schriftart namens HEJI2 zu erstellen (die einige Musiksymbole zur Inline-Verwendung bereitstellt). Mein Code sieht folgendermaßen aus:
\ProvidesPackage{heji}[2019/12/9 v1.0]
\RequirePackage{fontspec}[2018/07/30 vv2.6h]
\newfontfamily{\HEfont}{HEJI2.ttf}
\makeatletter
\newcommand*{\fsize}{\dimexpr\f@size pt\relax}
\makeatother
\newcommand{\heji}[2]{\mbox{#1\hspace{0.3mm}\raisebox{0.25\fsize}{\large\HEfont #2}}}
\DeclareOption{accfirst}{
\renewcommand{\heji}[2]{\mbox{\raisebox{0.25\fsize}{\large\HEfont #2}#1}}
}
\ProcessOptions\relax
\endinput
Die Verwendung des Pakets scheint zu funktionieren, beim Kompilieren erhalte ich jedoch die folgenden (nicht schwerwiegenden) Fehler:
! Missing = insterted for \ifnum.
<to be read again>
v
1.4
?
! Missing number, treated as zero.
<to be read again>
v
1.4
?
Ich bin mir nicht sicher, was das genau bedeutet. Ich scheine in der Lage zu sein, durch die Nachrichten zurückzukehren, und erhalte am Ende eine ordnungsgemäß formatierte PDF-Datei gemäß meinen Paketspezifikationen. Wäre für jede Hilfe dankbar! (Kompilieren mit Lualatex)
Antwort1
Sie finden sich zum Beispiel inLaTeX2ε für Autoren( texdoc usrguide
), Abschnitt3.2 Präambelbefehle:
Dieser Absatz beschreibt eigentlich das zweite optionale Argument für \documentclass
, aber der Datumsparser ist derselbe. InDie LaTeX2ε-Quellen( texdoc source2e
), Abschnitt68.2 Paketname und Versiones gibt mehr oder weniger den gleichen Absatz über \ProvidesPackage
.
Erstens wird dieses Datumsformat (noch unterstützt, ist aber) veraltet, und YYYY-MM-DD
stattdessen sollte jetzt das ISO-Format verwendet werden.
Und diese Forderung ist nicht ganz richtig. Insbesondere dieTagFeld muss sein DD
, während die anderen beiden sogar leer sein können (der gesunde Menschenverstand rät dazu, dies nicht zu tun ;-), also hätte beispielsweise \ProvidesPackage{heji}[1/1/09 v1.0]
funktioniert. Du hattest das Pech, die führende Null an der falschen Stelle zu entfernen ;-)