
Я пытаюсь создать очень простой пакет для использования со шрифтом HEJI2 (который предоставляет некоторые музыкальные символы для использования в строке). Мой код выглядит так:
\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
Использование пакета, похоже, работает, однако при его компиляции возникают следующие (нефатальные) ошибки:
! Missing = insterted for \ifnum.
<to be read again>
v
1.4
?
! Missing number, treated as zero.
<to be read again>
v
1.4
?
Не уверен, что это значит. Кажется, я могу вернуться через сообщения и в конце получаю правильно отформатированный .pdf в соответствии со спецификациями моего пакета. Буду признателен за любую помощь! (Компиляция с Lualatex)
решение1
Вы можете найти, например, вLaTeX2ε для авторов( texdoc usrguide
), раздел3.2 Преамбула команд:
Этот параграф на самом деле описывает второй необязательный аргумент \documentclass
, но анализатор даты тот же самый. ВИсточники LaTeX2ε( texdoc source2e
), раздел68.2 Название и версия пакетатам есть более или менее тот же абзац о \ProvidesPackage
.
YYYY-MM-DD
Во-первых, этот формат даты (все еще поддерживается, но) устарел, и теперь вместо него следует использовать формат ISO .
И это требование не совсем верно. В частности,деньполе должно быть DD
, а два других могут быть даже пустыми (здравый смысл советует не делать этого ;-), так что, например, \ProvidesPackage{heji}[1/1/09 v1.0]
это сработало бы. Вам не повезло, и вы удалили начальный ноль не с того места ;-)