数学を書くときは、表示された数式に句読点を追加するのが一般的な方法のようです。
数式内に句読点を入れないようにするためのトリックはありますか?
避けたい
Consider the function
\[ \sin(x).\]
私はむしろ次のようなものが欲しいです:
Consider the function
\[ \sin(x)\].
ただし、もちろん、数式の下に終止符が表示されます。
LaTeXで数式と句読点を分離する賢い方法はありますか?
数学を書くときは、表示された数式に句読点を追加するのが一般的な方法のようです。
数式内に句読点を入れないようにするためのトリックはありますか?
避けたい
Consider the function
\[ \sin(x).\]
私はむしろ次のようなものが欲しいです:
Consider the function
\[ \sin(x)\].
ただし、もちろん、数式の下に終止符が表示されます。
LaTeXで数式と句読点を分離する賢い方法はありますか?
\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,
$$
breqnパッケージ(amsmathと互換性があります)をロードして、この動作をdmath環境に組み込むことができます。
Consider the function
\begin{dmath}\sin(x)\end{dmath}.
と同じよう\[\sin(x).\]
に出力されます。つまり、ドットが式の中にあるかのように出力されます。
ボーナスとして、あなたはまたあなたの数学の方程式で自動的な改行を得るでしょう。
句読点を表示環境内に配置するのが通常の方法です。問題は、Latexがを処理するときに\]
、mathboxを終了するため、後続のすべてが新しい垂直ボックスの一部になることです。
次のようなことを試すことができます:
\ hbox{\[私の数式\]}。
これはテストされておらず、おそらく間隔の問題がありますが、この種の解決策に興味がある場合は、何かを機能させることができます。
FWIW、https: //mathoverflow.net/questions/6675/periods-and-commas-in-mathematical-writingに興味があるかもしれません