
Я долго искал ответ на этот вопрос, но так и не смог его найти. Я печатаю статью и мне нужно написать много формул, и для меня это более красиво,
f(x, y)
чем писать f(x,y)
. Я устал всегда писать тонкий пробел \,
после запятой в mathmode, и это также сбивает с толку. Есть ли способ автоматизировать это?
решение1
Если вы готовы иметь больше места послекаждыйзапятая в математическом режиме.
\documentclass{article}
\AtBeginDocument{%
\mathchardef\stdcomma=\mathcode`,
\mathcode`,="8000
}
\begingroup\lccode`~=`, \lowercase{\endgroup\def~}{\stdcomma\,}
\begin{document}
$f(x,y)$
$a,b,c$
\end{document}
Если вам нужен пробел только при указании переменных, вы можете использовать тот же метод, что и в пакете icomma
, но это требует дисциплины при вводе: если за запятой следует пробел (в математическом режиме), добавляется тонкий пробел.
\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}
Я бы не стал устанавливать \thinmuskip
большее значение. Вот почему.
\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}
Как видите, \thinmuskip
используется не только после запятых, но и в нескольких других местах, на которые повлиял бы тот же увеличенный пробел.