im Mathematikmodus nach dem Komma ein Leerzeichen einfügen

im Mathematikmodus nach dem Komma ein Leerzeichen einfügen

Ich habe intensiv nach der Antwort auf diese Frage gesucht, konnte sie aber nicht finden. Ich schreibe einen Artikel und muss viele Formeln schreiben, und für mich ist es schöner, zu schreiben f(x, y)als f(x,y). Ich bin es leid, im Mathematikmodus immer ein schmales Leerzeichen nach einem Komma zu schreiben \,, und es ist auch verwirrend. Gibt es eine Möglichkeit, dies zu automatisieren?

Antwort1

Wenn Sie mehr Platz haben möchten, nachdemjedenKomma im Mathematikmodus.

\documentclass{article}

\AtBeginDocument{%
  \mathchardef\stdcomma=\mathcode`,
  \mathcode`,="8000
}
\begingroup\lccode`~=`, \lowercase{\endgroup\def~}{\stdcomma\,}

\begin{document}

$f(x,y)$

$a,b,c$

\end{document}

Bildbeschreibung hier eingeben

Wenn Sie bei der Angabe von Variablen nur das Leerzeichen wünschen, können Sie dieselbe Methode wie das Paket verwenden icomma, dies erfordert jedoch Disziplin bei der Eingabe: Wenn auf ein Komma ein Leerzeichen folgt (im Mathematikmodus), wird ein schmales Leerzeichen hinzugefügt.

\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}

Bildbeschreibung hier eingeben

Ich würde es vermeiden, \thinmuskipeinen größeren Wert einzustellen. Hier ist der Grund.

\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}

Bildbeschreibung hier eingeben

Wie Sie sehen, \thinmuskipwird es nicht nur nach Kommas verwendet, sondern an mehreren anderen Stellen, die von dem gleichen vergrößerten Leerzeichen betroffen wären.

Antwort2

,ist \mathpunctalso standardmäßig ein schmaler Zwischenraum vorhanden, sofern Sie die Einstellungen nicht geändert haben. Vergleichen Sie mit{,}

Bildbeschreibung hier eingeben

\documentclass{article}

\begin{document}

$f(x, y)$

$f(x{,} y)$

\end{document}

Antwort3

Sie können auch Ihren eigenen Befehl mit dem gewünschten Leerzeichen definieren:

\documentclass{article}

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

\begin{document}
    \fxy, compared to
    

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

Bildbeschreibung hier eingeben

verwandte Informationen