Пунктуация в формулах LaTeX
похоже, что при написании математики обычной практикой является добавление знаков препинания к отображаемым формулам.
есть ли трюк, чтобы не ставить знак препинания внутри формулы?
Я хочу, чтобы избежать
Consider the function
[ sin(x).]
Я бы предпочел что-то вроде:
Consider the function
[ sin(x)].
но, конечно, полная остановка отображается ниже формулы.
есть ли умный способ разделить формулы и знаки препинания в LaTeX?
4 ответов
Вы можете загрузить пакет breqn (совместим с amsmath) и имеет это поведение, встроенное в его среду dmath:
Consider the function
\begin{dmath}\sin(x)\end{dmath}.
выведет то же самое, что и \[\sin(x).\], т. е., как если бы точка была внутри выражения.
в качестве бонуса вы также получите автоматический разрыв линии в своем математическом уравнении.
\catcode`\@=11 
\let\seveendformula\]
\def\]{\@ifnextchar.\PointAndEndFormula\seveendformula}
\def \PointAndEndFormula #1{.\seveendformula}
\catcode`\@=12 
добавить
более сложное решение работает с .,?!;: : 
\catcode`\@=11 
\def\addtopunct#1{\expandafter\let\csname punct@\meaning#1\endcsname\let}
\addtopunct{.}    \addtopunct{,}    \addtopunct{?}
\addtopunct{!}    \addtopunct{;}    \addtopunct{:}
\let\seveendformula\]
\def\PunctAndEndFormula #1{#1\seveendformula}
\def\]{\futurelet\punctlet\checkpunct@i}
\def\checkpunct@i{\expandafter\ifx\csname punct@\meaning\punctlet\endcsname\let  
       \expandafter\PunctAndEndFormula 
       \else \expandafter\seveendformula\fi}
\catcode`\@=12 
существует также вопрос о том, какой шрифт пунктуация должна быть включена. Вы не увидите проблемы, пока не попробуете другой математический шрифт, такой как Эйлер. Тогда запятые и периоды явно отличаются в текстовом режиме и в математическом режиме. Я написал пунктуацию в текстовом режиме в отображаемых формулах как \mbox{,} или лениво как \mbox, перед $$.
 размещение пунктуации внутри среды отображения является обычным способом.  Проблема в том, что когда Latex обрабатывает \], он заканчивает mathbox, поэтому все, что следует, будет частью нового вертикального окна.
вы можете попробовать что-то вроде:
\hbox{\[My formula\]}.
это не тестируется и, вероятно, имеет проблемы с интервалом, но если вас интересует такое решение, я мог бы попытаться получить что-то рабочее.
FWIW, вы могли быть заинтересованы внутри https://mathoverflow.net/questions/6675/periods-and-commas-in-mathematical-writing
