Ejecuté el siguiente código y obtuve el siguiente espacio enorme al usar \pmod
la función. Parece extraño en el periódico. ¿Alguien podría sugerir cómo reducir el espacio?
\begin{eqnarray*}
MSC(C_n^2) &=& \begin{cases}
1, & \text{if $n$ is odd and d is even ($n\equiv 1\pmod{4}$)},\\
2, & \mbox{if n is even and d is even ($n\equiv 0\pmod {4}$)},\\
3, & \mbox{if n is odd and d is odd ($n\equiv 3\pmod {4}$)},\\
3, & \mbox{if n is even and d is odd ($n\equiv 2\pmod {4}$)}.
\end{cases}
\end{eqnarray*}
Respuesta1
SiguienteMod de escritura en problemas de congruencia sin espacio inicial, utilice \Mod
como se define a continuación:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\Mod}[1]{\ (\mathrm{mod}\ #1)}
\begin{document}
\begin{align*}
MSC(C_n^2) &=
\begin{cases}
1, & \text{if $n$ is odd and $d$ is even ($n \equiv 1 \Mod{4}$)}, \\
2, & \text{if $n$ is even and $d$ is even ($n \equiv 0 \Mod{4}$)}, \\
3, & \text{if $n$ is odd and $d$ is odd ($n \equiv 3 \Mod{4}$)}, \\
3, & \text{if $n$ is even and $d$ is odd ($n \equiv 2 \Mod{4}$)}.
\end{cases}
\end{align*}
\end{document}
Respuesta2
A juzgar por la fuente en cursiva, la visualización está dentro de un enunciado de teorema.
Evitaría los paréntesis y la repetición de partes comunes:
\documentclass{article}
\usepackage{amsmath}
\newtheorem{theorem}{Theorem}
\DeclareMathOperator{\MSC}{MSC}
\begin{document}
\begin{theorem}
Blah, blah
\begin{equation*}
\MSC(C_n^2)=
\begin{cases}
1, & \text{if $n$ is odd and $d$ is even, i.e., $n\equiv 1$},\\
2, & \text{if $n$ is even and $d$ is even, i.e., $n\equiv 0$},\\
3, & \text{if $n$ is odd and $d$ is odd, i.e., $n\equiv 3$},\\
3, & \text{if $n$ is even and $d$ is odd, i.e., $n\equiv 2$},
\end{cases}
\end{equation*}
where congruences are modulo~$4$.
\end{theorem}
\end{document}
Algunas notas:
- "MSC" debe estar en posición vertical y ser tratado como un operador;
- incluso en el contexto de fuente cursiva, las variables matemáticas deben ingresarse en modo matemático;
eqnarray
no debe usarse cuandoamsmath
esté disponible (y debe cargarse siempre que un documento contenga matemáticas serias;- utiliza el entorno adecuado, en este caso
equation*
porque no tienes una alineación.
Respuesta3
El kernel LaTeX toma prestada su definición de\pmod
\def\pmod#1{%
\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
(ver ltmath.dtx
líneas de código 39–40) de TeX simple, en el que se lee
\def\pmod#1{\allowbreak\mkern18mu({\rm mod}\,\,#1)}
(verEl libro de texto, pag. 361); en ambos casos, el espacio que precede a la palabra “mod” tiene 1em de ancho. Los ejemplos de uso dados en la p. 164 deEl libro de texto, así como la respuesta al ejercicio 18.4, muestran que Knuth pretendía que esa cantidad de espacio también se utilizara en fórmulas matemáticas en línea. No obstante, el amsmath
paquete modifica la definición anterior de tal manera que se emplea un espacio más estrecho cuando la fórmula “no se muestra”:
\newcommand{\pod}[1]{\allowbreak
\if@display\mkern18mu\else\mkern8mu\fi(#1)}
\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}}
(ver tambiénesta respuestaaMod de escritura en problemas de congruencia sin espacio inicial, una pregunta ya vinculada desdela respuesta aceptadaa esta pregunta). Como puede ver, la condición de “no estar en pantalla” se detecta a través del \if@display
interruptor.
Reflexionando sobre esta pregunta, comencé a preguntarme si esto podría ser un error (o más bien, un defecto de diseño) en el paquete. Quizás una mejor idea sería hacer que la cantidad de espacio cambie con el estilo matemático actual, de una manera similar a la forma en que a los símbolos del "gran operador" les gusta \sum
o \int
cambian su tamaño (y, hasta cierto punto, su forma) entre visualización y visualización. y matemáticas sin pantalla. Este comportamiento se logra fácilmente con el parche al \pod
comando (definido por el amsmath
paquete) que muestra el siguiente código:
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
% \usepackage{amsmath} % Required for what follows; but...
\usepackage{mathtools} % ... "mathtools" automatically loads "amsmath".
\makeatletter
\renewcommand*\pod[1]{%
\allowbreak
\mathchoice
{\mkern 18mu}%
{\mkern 8mu}%
{\mkern 8mu}%
{\mkern 8mu}%
(#1)%
}
\makeatother
\newtheorem{thm}{Theorem}
\begin{document}
In-line: \( 5\equiv 1 \pmod 4 \). In display:
\[ 5\equiv 1 \pmod 4 \]
Non-display inside display:
\[
f(x) =
\begin{cases}
4 & \mbox{if $x\equiv 0 \pmod 4$,} \\
x\bmod 4 & \mbox{otherwise.}
\end{cases}
\]
The same thing, but with \texttt{cases*} (requires \textsf{mathtools}):
\[
f(x) =
\begin{cases*}
4 & if $x\equiv 0 \pmod 4$, \\
x\bmod 4 & otherwise.
\end{cases*}
\]
\begin{thm}
All over again.
In-line: \( 5\equiv 1 \pmod 4 \). In display:
\[ 5\equiv 1 \pmod 4 \]
Non-display inside display:
\[
f(x) =
\begin{cases}
4 & \mbox{if $x\equiv 0 \pmod 4$,} \\
x\bmod 4 & \mbox{otherwise.}
\end{cases}
\]
With \texttt{cases*}:
\[
f(x) =
\begin{cases*}
4 & if $x\equiv 0 \pmod 4$, \\
x\bmod 4 & otherwise.
\end{cases*}
\]
\end{thm}
Nonetheless, inside an alignment, say
\begin{align*}
2 &\equiv 9 \pmod 7 \\
4 &\equiv 1 \pmod 3 \mbox{,}
\end{align*}
the output agrees with that of a displayed equation:
\[
5\equiv 1 \pmod 4 \mbox{.}
\]
\end{document}
Este es el resultado que produce el código anterior:
Esta modificación podría ser una forma elegante y consistente de lograr lo que pide la pregunta. Si el \mod
comando también se utiliza, también debería modificarse de manera similar. Por supuesto, no se pueden introducir estos cambios en el código del masmath
paquete sin alterar todos los documentos existentes que utilizan estas características...
Suma:
Continuando analizando este tema, pensé que incluso podría tener sentido usar el \pmod
comando en super/subíndices (ver el ejemplo a continuación); y en este caso, parece que el espacio antes del paréntesis izquierdo debería hacerse aún más delgado.
% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly
% declare the paper format.
\usepackage[T1]{fontenc} % Not always necessary, but recommended.
% End of standard header. What follows pertains to the problem at hand.
% \usepackage{amsmath} % Required for what follows; but...
\usepackage{mathtools} % ... "mathtools" automatically loads "amsmath".
\makeatletter
\renewcommand*\pod[1]{%
\allowbreak
\mathchoice
{\mkern 18mu}%
{\mkern 8mu}%
{\mkern 6mu}% "6mu" matches the space *after* the word "mod"
{\mkern 6mu}%
(#1)%
}
\makeatother
\newtheorem{thm}{Theorem}
\begin{document}
In-line: \( 5\equiv 1 \pmod{4} \). In display:
\[ 5\equiv 1 \pmod{4} \]
Non-display inside display:
\[
f(x) =
\begin{cases}
4 & \mbox{if $x\equiv 0 \pmod{4}$,} \\
x\bmod 4 & \mbox{otherwise.}
\end{cases}
\]
The same thing, but with \texttt{cases*} (requires \textsf{mathtools}):
\[
f(x) =
\begin{cases*}
4 & if $x\equiv 0 \pmod{4}$, \\
x\bmod 4 & otherwise.
\end{cases*}
\]
\begin{thm}
All over again.
In-line: \( 5\equiv 1 \pmod{4} \). In display:
\[ 5\equiv 1 \pmod{4} \]
Non-display inside display:
\[
f(x) =
\begin{cases}
4 & \mbox{if $x\equiv 0 \pmod{4}$,} \\
x\bmod 4 & \mbox{otherwise.}
\end{cases}
\]
With \texttt{cases*}:
\[
f(x) =
\begin{cases*}
4 & if $x\equiv 0 \pmod{4}$, \\
x\bmod 4 & otherwise.
\end{cases*}
\]
\end{thm}
Nonetheless, inside an alignment, say
\begin{align*}
2 &\equiv 9 \pmod{7} \\
4 &\equiv 1 \pmod{3} \mbox{,}
\end{align*}
the output agrees with that of a displayed equation:
\[
5\equiv 1 \pmod{4} \mbox{.}
\]
In super\slash subscripts:
\[
\int_{0}^{3\pi} \sin x\,dx
= -\cos x \biggr|_{0}^{3\pi}
= -\cos x \biggr|_{x\equiv 0 \pmod{2\pi}}^{x\equiv 3\pi \pmod{2\pi}}
= -\cos x \biggr|_{0}^{\pi}
= 1-(-1) = 2
\]
\end{document}
La salida en este segundo caso es
Respuesta4
No creo que usar \pmod
entre paréntesis se vea tan bien, especialmente si los paréntesis externos (texto) están en cursiva, así que propongo usarlos \bmod
en su lugar. Propongo dos formas: con el cases*
entorno de mathtools (simpler syntax), and with a standard
los casos ,and
eqparbox` para alinear las condiciones del módulo:
\documentclass{article}
\usepackage{mathtools}
\usepackage{eqparbox}
\begin{document}
\begin{align*}
MSC(C_n^2) &=
\begin{cases}
1, & \eqparbox{CN}{if $n$ is odd and $d$ is even} (n \equiv 1 \bmod{4}), \\
2, & \eqparbox{CN}{if $n$ is even and $d$ is even\enspace} (n \equiv 0 \bmod{4}), \\
3, & \eqparbox{CN}{ if $n$ is odd and $d$ is odd} (n \equiv 3 \bmod{4}), \\
3, & \eqparbox{CN}{ if $n$ is even and $d$ is odd } (n \equiv 2 \bmod{4}).
\end{cases}
\end{align*}
\begin{align*}
MSC(C_n^2) &=
\begin{cases*}
1, & if $n$ is odd and $d$ is even ($n \equiv 1 \bmod{4}$), \\
2, & if $n$ is even and $d$ is even ($n \equiv 0 \bmod{4}$), \\
3, & if $n$ is odd and $d$ is odd ($n \equiv 3 \bmod{4}$), \\
3, & if $n$ is even and $d$ is odd ($n \equiv 2 \bmod{4}$).
\end{cases*}
\end{align*}
\end{document}