
나는 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
.
첫째, 해당 날짜 형식은 (여전히 지원되지만) 더 이상 사용되지 않으며 이제 대신 ISO 형식을 YYYY-MM-DD
사용해야 합니다.
그리고 그 요구 사항은 전적으로 사실이 아닙니다. 구체적으로낮필드는 이어야 하며 DD
, 다른 두 개는 비어 있을 수도 있습니다(상식적으로는 ;-하지 말 것을 권고함). 예를 들어 \ProvidesPackage{heji}[1/1/09 v1.0]
작동했을 것입니다. 불행하게도 잘못된 위치에서 선행 0을 제거했습니다 ;-)