mystyle.sty

mystyle.sty

我想制作一个包含一堆我在所有问题集中定义的命令的包。我遇到了一个问题,编译器无法识别我定义的带有参数的命令。这是一个无法编译的愚蠢简单示例,我似乎找不到原因。

这是我的样式文件,恰当地命名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

最有可能的是,该\normaltext命令应该是\normalsize,因为OP首先将字体大小改为 ,\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}

在此处输入图片描述

笔记

原则上,最好有一个环境来实现字体的切换以及之后的恢复。

相关内容