
すべての問題セットで定義した多数のコマンドを含むパッケージを作成したいと考えています。 引数を持つ定義したコマンドをコンパイラが認識しないという問題が発生しています。 ここに、コンパイルされないものの非常に単純な例を示しますが、その理由はわかりません。
これは私のスタイル ファイルで、適切な名前が付けられていますmystyle.sty
。
\ProvidesPackage{mystyle}
\newcommand{\test}{\Huge}
\newcommand{\hding}[1]{#1\newline\normaltext}
mystyle.sty
2 つのコマンドがあります。\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
おそらく、\normaltext
コマンドは と読むべきでしょう\normalsize
。OP はまずフォント サイズを に変更し\Huge
、\hding
それを通常のフォントに戻す必要があるため、これは によって実現できる元のフォント サイズを復元すると理解できます\normalsize
。
私の知る限り、\normaltext
コマンドはありません。
\textnormal
ChrisS が提案したように、数式フォントではなく通常のテキストを取得するために、数式モードで使用されます。
マイスタイル
\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}
注記
原則的には、フォントの切り替えとその後の復元が実現できる環境の方がよいでしょう。