패키지의 일부를 선언하는 옵션에서 매크로 호출

패키지의 일부를 선언하는 옵션에서 매크로 호출

내부에서 매크로를 호출해야 합니다.DeclareOption 하지만내 매크로는 나중에 정의됩니다(이것이 주요 조건입니다).

\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{MyBook}[2014/12/12]
\DeclareOption{llstyle}{\mymacro}
\ProcessOptions\relax


\RequirePackage{titlesec}
\RequirePackage{textcase}

\def\@bookview{
\let\cleardoublepage\clearpage
\renewcommand{\chaptertitlename}{Глава}

\titleformat{\chapter}[display]
{\vspace*{-10ex}\Large}
{\titleline[l]{\textls[200]{\MakeTextUppercase{\chaptertitlename}}\ \thechapter}\vspace{6pt}\titlerule[.8pt]}
{\dimexpr-\baselineskip+6pt\relax}
{\bfseries\MakeUppercase}
}

\def\mymacro{%
  \@ifclassloaded{book}{\@bookview}{}
  \@ifclassloaded{extbook}{\@bookview}{}
}
\endinput

매크로의 정의는 나중에 이루어지기 때문에 이러한 상황은 오류를 발생시킵니다.

답변1

당신은 많은 맥락을 제공하지 않았지만 아마도

\DeclareOption{some}{\AtEndOfPackage{\mymacro}}

관련 정보