\documentclass{article} \usepackage{lmodern} \usepackage[T1]{fontenc} \usepackage[nosetpagesize]{graphicx} \usepackage{mathpunctspace} \title{Control the Space After Punctuation in Expressions} \author{Yuwsuke Kieda} \date{2018/02/27 v1.1} \begin{document} \maketitle \section{Descriptions} We provide a mechanism to control the space after the comma in the expressions. \section{Usage} \subsection{Sample of Preamble} \begin{verbatim} \usepackage{mathpunctspace} \end{verbatim} \subsection{Options} \begin{itemize} \item unit: mu or other (default: mu) \item comma: substitute keyword ``natural'' or skip (default: natural) \item semicolon: substitute keyword ``natural'' or skip (default: natural) \item colon: substitute keyword ``natural'' or skip (default: natural) \item latexorg: original behavior of LaTeX \end{itemize} Remark: keyword ``natural'' mean the spacing of the in-line. \section{License} BSD 2-Clause License \section{Repository} \texttt{https://github.com/yuw/texmf-mathpunctspace} \section{Samples} \subsection{Sources} \begin{verbatim} Lorem ipsum $(x, y)$, dolor sit amet. Lorem ipsum $\{x; x \in A\}$; dolor sit amet. Lorem ipsum $f\colon g \to h$: dolor sit amet. \end{verbatim} \subsection{Sample of Options and Results} \begin{verbatim} \usepackage[latexorg]{mathpunctspace} \end{verbatim} \includegraphics{latexorg.pdf} \begin{verbatim} \usepackage{mathpunctspace} % same: comma=natural,semicolon=natural,colon=natural \end{verbatim} Lorem ipsum $(x, y)$, dolor sit amet. Lorem ipsum $\{x; x \in A\}$; dolor sit amet. Lorem ipsum $f\colon g \to h$: dolor sit amet. \begin{verbatim} \usepackage[comma=10mu,semicolon=20mu,colon=30mu]{mathpunctspace} \end{verbatim} \includegraphics{comma10mu-semicolon20mu-colon30mu.pdf} \begin{verbatim} \usepackage[unit=pt,comma=5pt,semicolon=5pt,colon=5pt]{mathpunctspace} \end{verbatim} \includegraphics{comma5pt-semicolon5pt-colon5pt.pdf} \begin{verbatim} \usepackage[comma=0mu,semicolon=natural,colon=natural]{mathpunctspace} \end{verbatim} \includegraphics{comma0mu-semicolonnat-colonnat.pdf} \section{Risks} If the option (\texttt{comma=10mu}) is given as follows, ``right'' output can not be obtained. See \textit{The \TeX{}book} p.~134. \begin{verbatim} \usepackage[comma=10mu]{mathpunctspace} \end{verbatim} \begin{center} \makeatletter \begingroup \catcode`\,=\active \def\@x@{\def,{\thinmuskip20mu\normalcomma}}% \expandafter\endgroup\@x@% % \catcode`\,=\active % \def\@x@{\def,{\normalcomma\mskip10mu}}% % \expandafter\endgroup\@x@% \makeatother \setbox9\hbox{,}% Input: \verb!$1{,}000$!\qquad Output: $1{,}000$\quad $1,000$ \end{center} \end{document}