
Procurei muito a resposta para esta pergunta, mas não consegui encontrá-la. Estou digitando um artigo e tenho que escrever muitas fórmulas, e para mim é mais bonito escrever
f(x, y)
do que f(x,y)
. Estou cansado de sempre escrever um espaço fino \,
depois de uma vírgula no modo matemático, e isso também é confuso. Existe uma maneira de automatizar isso?
Responder1
Se você estiver disposto a ter mais espaço depoistodovírgula no modo matemático.
\documentclass{article}
\AtBeginDocument{%
\mathchardef\stdcomma=\mathcode`,
\mathcode`,="8000
}
\begingroup\lccode`~=`, \lowercase{\endgroup\def~}{\stdcomma\,}
\begin{document}
$f(x,y)$
$a,b,c$
\end{document}
Se você quiser apenas o espaço ao especificar variáveis, você pode usar o mesmo método do package icomma
, mas isso requer disciplina na entrada: se uma vírgula for seguida por um espaço (no modo matemático), um espaço fino é adicionado.
\documentclass{article}
\makeatletter
\AtBeginDocument{%
\mathchardef\stdcomma=\mathcode`,
\mathcode`,="8000
}
\begingroup\lccode`~=`, \lowercase{\endgroup\def~}{%
\futurelet\@let@token\spaced@comma
}
\newcommand{\spaced@comma}{%
\stdcomma
\ifx\@let@token\@sptoken\,\fi
}
\makeatother
\begin{document}
$f(x, y)$ % added space
$f(x,y)$ % compare with the standard
$a,b,c$ % no space is added
\end{document}
Eu evitaria definir \thinmuskip
um valor maior. Aqui está o porquê.
\documentclass{article}
\thinmuskip=6mu
\begin{document}
$f(x,y)=\sin x-\sin y$ % with the new setting
\thinmuskip=3mu
$f(x,y)=\sin x-\sin y$ % with the standard setting
\end{document}
Como você pode ver, \thinmuskip
não é usado apenas após vírgulas, mas em vários outros locais, que seriam afetados pelo mesmo espaço ampliado.