
모든 문제 세트에서 정의한 여러 명령이 포함된 패키지를 만들고 싶습니다. 인수가 있는 정의한 명령을 컴파일러가 인식하지 못하는 문제가 발생했습니다. 다음은 컴파일되지 않고 그 이유를 알 수 없는 것 같은 간단한 예입니다.
이것은 적절한 이름의 내 스타일 파일입니다 mystyle.sty
.
\ProvidesPackage{mystyle}
\newcommand{\test}{\Huge}
\newcommand{\hding}[1]{#1\newline\normaltext}
mystyle.sty
그 안에 두 개의 명령이 있습니다. \test는 텍스트를 거대하게 만들고 \hding
줄 바꿈을 추가하고 글꼴을 다시 일반으로 변경합니다. 내 두뇌가 죽은 간단한 .tex
파일은 다음과 같습니다.
\documentclass{paper}
\usepackage{mystyle}
\begin{document}
Hello World!
%\hding{Hello World!} Hello World!
\test Hello World!
\end{document}
테스트 기능만 사용하면 모든 것이 잘 작동합니다. 그러나 주석 처리되지 않은 함수를 사용하여 컴파일하려고 하면 \hding
컴파일러가 다음과 같은 오류를 내며 나에게 소리칩니다.
! Undefined control sequence.
\hding #1->#1\newline \normaltext
l.7 \hding{Hello World!}
Hello World!
무슨 일이야? 내가 이해하지 못하는 것이 무엇입니까?
답변1
OP가 먼저 글꼴 크기를 로 변경 하고 이를 일반 글꼴로 복원해야 하기 때문에 \normaltext
명령은 로 읽어야 할 가능성이 높습니다. 이는 로 달성할 수 있는 원래 글꼴 크기를 복원하는 것으로 이해될 수 있습니다 .\normalsize
\Huge
\hding
\normalsize
내가 아는 한 \normaltext
명령은 없습니다.
\textnormal
, ChrisS가 제안한 대로 수학 글꼴이 아닌 일반 텍스트를 얻기 위해 수학 모드에서 오히려 사용됩니다.
mystyle.sty
\ProvidesPackage{mystyle}
\newcommand{\test}{\Huge}
\newcommand{\hding}[1]{#1\newline\normalsize}%
메인 파일
\documentclass{paper}
\usepackage{mystyle}
\begin{document}
\[\textnormal{Hello World!}\]
\[Hello World\]
Hello World!
\hding{Hello World!} Hello World!
Before \test Afterwards: Hello World!
\end{document}
메모
원칙적으로는 글꼴을 전환하고 나중에 복원하는 환경이 더 좋습니다.