Пунктуация в формулах 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