
Quero criar um pacote que contenha vários comandos que defino em todos os meus conjuntos de problemas. Estou enfrentando um problema em que o compilador não reconhece comandos que eu defino e que possuem um argumento. Aqui está um exemplo simples e mortal de algo que não está compilando e não consigo descobrir o porquê.
Este é o meu arquivo de estilo, apropriadamente chamado mystyle.sty
:
\ProvidesPackage{mystyle}
\newcommand{\test}{\Huge}
\newcommand{\hding}[1]{#1\newline\normaltext}
mystyle.sty
tem dois comandos nele. \test apenas torna o texto enorme, \hding
acrescenta uma nova linha e altera a fonte de volta ao normal. Meu arquivo simples com morte cerebral .tex
é o seguinte:
\documentclass{paper}
\usepackage{mystyle}
\begin{document}
Hello World!
%\hding{Hello World!} Hello World!
\test Hello World!
\end{document}
Com apenas a função de teste, tudo funciona bem. Mas se eu tentar compilar com a \hding
função não comentada, o compilador grita comigo com o seguinte erro:
! Undefined control sequence.
\hding #1->#1\newline \normaltext
l.7 \hding{Hello World!}
Hello World!
O que está acontecendo? O que não estou entendendo?
Responder1
Muito provavelmente, o \normaltext
comando deveria ler \normalsize
, já que o OP primeiro altera o tamanho da fonte para \Huge
e \hding
deve restaurá-lo para a fonte normal, isso pode ser entendido como restaurar o tamanho da fonte original, o que pode ser alcançado por \normalsize
.
Pelo que eu sei, não há \normaltext
comando.
\textnormal
, conforme sugerido por ChrisS, é bastante usado no modo matemático, para obter texto normal, não em fonte matemática.
meuestilo.sty
\ProvidesPackage{mystyle}
\newcommand{\test}{\Huge}
\newcommand{\hding}[1]{#1\newline\normalsize}%
arquivo principal
\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}
Observação
Em princípio, um ambiente seria melhor para conseguir a troca de fonte e a restauração posterior.