
Es ist bekannt, dass es \big\mid
einen Fehler auslöst. Aber warum ist das so? Soweit ich weiß, \mid
ist gleichbedeutend mit \mathrel|
, während \lvert
und jeweils \rvert
gleichbedeutend mit \mathopen|
und sind \mathclose|
– genau wie \vert
gleichbedeutend mit ist |
. Und \lvert,\rvert
,Tunfunktioniert sowohl mit \big, \bigl
als auch \bigr
. Aus Symmetriegründen denke ich, dass es Sinn ergibt, dass auch \mid
mit usw. funktioniert .\big,\bigm
MWE:
\documentclass{article}
\begin{document}
$\bigl\rvert ... \bigr\lvert$ works fine.
$\big\mid$ does not.
\end{document}
Beachten Sie, dass ich nicht auf der Suche nach einemLösungzum Drucken eines größeren \mid
; ich weiß, ich könnte einfach \big|
oder verwenden \bigm|
. Ich bin nur neugierig.
Antwort1
Die Befehle
\bigl\vert
,\bigm\vert
, und sind semantisch symmetrisch. Übrigens erzeugen\bigr\vert
die Befehlstripel\bigl\lvert \bigl\vert \big\lvert
bzw. die gleiche Ausgabe.\bigr\rvert \bigr\vert \big\rvert
Es ist der Befehl
\mid
, der semantisch gesehen ein bisschen ein Ausreißer ist. Wie @egreg in einem Kommentar angemerkt hat,\mid
ist es als Beziehungssymbol aufgebaut und nicht darauf ausgelegt, ein größenveränderndes Präfix anzunehmen.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\dots\ $\bigl\lvert \ldots \bigm| \ldots \bigr\rvert$ \dots\ works fine.
\dots\ $\bigl\vert \ldots \bigm\vert \ldots \bigr\vert$ \dots\ works just the same.
\dots\ $\bigl\vert \ldots \big| \ldots \bigr\vert$ \dots\ works too, but it isn't the same.
\end{document}
Antwort2
Using \big
ist grundsätzlich falsch, da es ein gewöhnliches Atom erzeugt. Daher ist using besser \bigl
für das Öffnen von Zäunen, \bigr
für das Schließen und \bigm
für Beziehungen geeignet.
Die Definition von \bigX
letztendlich tut es \big
sowieso, aber zuerst fügt man den richtigen Typ hinzu. Und \big<token>
tut es einfach
\left<token>
Daher müssen wir sicherstellen, dass das Argument \bigX
ein Trennzeichen ist, was \mid
nicht der Fall ist.
Man könnte diese Einschränkung im Prinzip für Relationen aufheben, von denen wir wissen, dass sie auf einem Trennzeichen aufbauen:
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\let\amsmath@bigm\bigm
\renewcommand{\bigm}[1]{%
\ifcsname fenced@\string#1\endcsname
\expandafter\@firstoftwo
\else
\expandafter\@secondoftwo
\fi
{\expandafter\amsmath@bigm\csname fenced@\string#1\endcsname}%
{\amsmath@bigm#1}%
}
\newcommand{\DeclareFence}[2]{\@namedef{fenced@\string#1}{#2}}
\makeatother
\DeclareFence{\mid}{|}
\begin{document}
$\bigl\{\, x\in X \bigm\mid x\notin X \,\bigr\}$
\smallskip
$\bigl\{\, x\in X \bigm| x\notin X \,\bigr\}$
\end{document}
Dies ist nur ein Proof of Concept, daher habe ich nicht versucht, eine Verallgemeinerung auf \bigm
die Geschwister \Bigm
, \biggm
und zu machen \Biggm
.