ставить пробел после запятой в математическом режиме

ставить пробел после запятой в математическом режиме

Я долго искал ответ на этот вопрос, но так и не смог его найти. Я печатаю статью и мне нужно написать много формул, и для меня это более красиво, 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используется не только после запятых, но и в нескольких других местах, на которые повлиял бы тот же увеличенный пробел.

решение2

,по умолчанию имеет \mathpunctтонкий пробел, если вы не меняли настройки. Сравните с{,}

введите описание изображения здесь

\documentclass{article}

\begin{document}

$f(x, y)$

$f(x{,} y)$

\end{document}

решение3

Вы также можете определить свою собственную команду с нужным вам пробелом:

\documentclass{article}

\newcommand{\fxy}{$f(x,\,y)$}

\begin{document}
    \fxy, compared to
    

    $f(x,y)$
    
\end{document}

введите описание изображения здесь

Связанный контент