答案1
正如 Ulrike 和 Enrico 在评论中指出的那样,(a) 标点符号确实里面显示数学组和(b)它的好多了\[ ... \]
而不是$$ ... $$
在 LaTeX 文档中书写。
但是,如果你无法改掉这两个习惯,并且能够使用 LuaLaTeX,那么以下解决方案可能就是你所需要的。如下所示的解决方案目前仅适用于两个标点符号,即., ,
(逗号)和.
(句号,又称“句号”);但是,很容易将其扩展以处理其他标点符号,例如;
和:
。此外,请注意代码 (a) 自动在标点符号前插入一个细空格,(b) 将标点符号置于文本模式 - 以防文本模式和数学模式标点符号不相同 - 并且 (c) 允许在结束字符对$$
和标点符号之间留有空格(但不是换行符)。
% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{luacode}
\begin{luacode}
function switch_punctuation ( s )
return ( s:gsub ( "%$%$%s-([%.%,])" , "\\,\\mbox{%1}$$" ) )
end
\end{luacode}
\AtBeginDocument{\directlua{luatexbase.add_to_callback(
"process_input_buffer", switch_punctuation , "switchpunctuation" )}}
\begin{document}
We have $$1+1=2$$, so $$1+1\neq 3$$ .
\end{document}