Question

Il semble être une pratique courante, lors de l'écriture des mathématiques, pour ajouter de la ponctuation aux formules affichées.

Y at-il astuce pour éviter de mettre le signe de ponctuation dans la formule?

Je veux éviter

Consider the function
\[ \sin(x).\]

Je préfère avoir quelque chose comme:

Consider the function
\[ \sin(x)\].

Mais bien sûr l'arrêt complet est affiché en dessous de la formule.

Y at-il un moyen intelligent de séparer les formules et la ponctuation dans LaTeX?

Était-ce utile?

La solution

Vous pouvez charger le package breqn (compatible avec amsmath) et ont ce comportement intégré à son environnement dmath:

Consider the function
\begin{dmath}\sin(x)\end{dmath}.

Will sortie le même que \[\sin(x).\], à savoir que si le point est à l'intérieur de l'expression.

En prime, vous recevrez également les sauts de ligne automatique dans votre équation mathématique.

Autres conseils

\catcode`\@=11 
\let\seveendformula\]
\def\]{\@ifnextchar.\PointAndEndFormula\seveendformula}
\def \PointAndEndFormula #1{.\seveendformula}
\catcode`\@=12 

Ajouter

solution plus complexe fonctionne avec .,?!;::

\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 

Il y a aussi la question dont font la ponctuation devrait être. Vous ne verrez pas un problème jusqu'à ce que vous essayez une autre police mathématique, comme Euler. Ensuite, des virgules et des périodes sont nettement différentes en mode texte et en mode mathématique. J'ai la ponctuation écrit en mode texte dans les formules affichées comme \mbox{,} ou paresseusement comme \mbox, juste avant $$.

Mettre la ponctuation dans un environnement d'affichage est de la manière habituelle. Le problème est que lorsque latex traite les \], il met fin à la mathbox, donc tout ce qui suit fera partie d'une nouvelle boîte verticale.

Vous pouvez essayer quelque chose comme:

\hbox{\[My formula\]}.

Ce n'est pas testé, et a probablement des problèmes d'espacement, mais si vous êtes intéressé par ce genre de solution, je pourrais essayer d'obtenir quelque chose de travail.

FWIW, vous pourriez être intéressé par https://mathoverflow.net/questions/ 6675 / périodes-et-virgules en mathématique écriture

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top