
Es bien sabido \big\mid
que arroja un error. ¿Pero por qué es así? Hasta donde yo sé, \mid
es equivalente a \mathrel|
, mientras que \lvert
y \rvert
son equivalentes a \mathopen|
y \mathclose|
, respectivamente, al igual que \vert
es equivalente a |
. Y \lvert,\rvert
,hacertrabajar con ambos \big, \bigl
y \bigr
. Entonces, por simetría, creo que tendría sentido que también \mid
funcionara con etc.\big,\bigm
MWE:
\documentclass{article}
\begin{document}
$\bigl\rvert ... \bigr\lvert$ works fine.
$\big\mid$ does not.
\end{document}
Tenga en cuenta que no estoy buscando unsoluciónpara imprimir un más alto \mid
; Sé que podría usar \big|
o \bigm|
. Tengo curiosidad.
Respuesta1
Los comandos
\bigl\vert
,\bigm\vert
y\bigr\vert
son semánticamente simétricos. Por cierto, los tripletes de comandos\bigl\lvert \bigl\vert \big\lvert
y\bigr\rvert \bigr\vert \big\rvert
, respectivamente, producen el mismo resultado.Es el comando
\mid
el que es un poco atípico, semánticamente hablando. Como @egreg señaló en un comentario,\mid
se construye como un símbolo de relación y no está configurado para tomar un prefijo que modifique el tamaño.
\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}
Respuesta2
Su uso \big
es generalmente incorrecto, porque produce un átomo ordinario. Por lo tanto, es mejor utilizarlos \bigl
para abrir vallas, \bigr
para cerrarlas y \bigm
para las relaciones.
La definición de \bigX
en última instancia lo hace \big
de todos modos, pero primero agrega el tipo correcto. Y \big<token>
simplemente lo hace
\left<token>
entonces debemos asegurarnos de que el argumento to \bigX
sea un delimitador, lo cual \mid
no lo es.
En principio, se podría eliminar esta limitación para las relaciones que sabemos que se basan en un delimitador:
\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}
Esto es solo una prueba de concepto, por lo que no intenté una generalización a \bigm
hermanos \Bigm
y .\biggm
\Biggm