![¿Centrar los términos en una ecuación?](https://rvso.com/image/305916/%C2%BFCentrar%20los%20t%C3%A9rminos%20en%20una%20ecuaci%C3%B3n%3F.png)
Tengo la siguiente ecuación:
¿Observas cómo los dos últimos términos no están centrados? Si uso el código especificado a continuación, obtendría ese efecto. Ahora, lo que me gustaría tener es el efecto que se muestra en el primer término (centrado el término "Sesgo"). Probablemente también veas que, dado que fallo con la pintura, los primeros términos no están centrados correctamente.
Ahora me preguntaba si es posible hacer eso en látex. Observe que debe estar centrado entre el signo igual y el signo más.
En forma de código:
\begin{equation}
\begin{aligned}
Err(x_{0}) &=\left(E\left[\hat{f}(x_{0})\right]-f(x_{0})\right)^{2}&+&E\left[\hat{f}(x_{0})-E\left[\hat{f}(x_{0})\right]\right]^{2}&+&\sigma^{2}_{\epsilon} \\
&=\text{Bias}^{2}&+&\text{Var}(\hat{f}(x_{0})&+&\text{Var}(\epsilon)
\end{aligned}
\end{equation}
Desafortunadamente, los términos de la primera ecuación y de la segunda ecuación no están centrados. Me preguntaba cómo puedo centrar cada término.
Gracias
Respuesta1
No centraría los términos, pero es solo mi opinión.
Puede obtener el espaciado correcto alrededor de los símbolos =
y con o también con si prefiere centrar.+
alignedat
array
\documentclass{article}
\usepackage{amsmath,array}
\DeclareMathOperator{\Err}{Err}
\DeclareMathOperator{\Bias}{Bias}
\DeclareMathOperator{\Var}{Var}
\DeclareMathOperator{\E}{E}
\newcolumntype{O}{>{{}}c<{{}}}
\begin{document}
\begin{equation}
\begin{alignedat}{3}
\Err(x_{0}) &=
\bigl(\E[\hat{f}(x_{0})]-f(x_{0})\bigr)^{2}
&&+ \E\bigl[\hat{f}(x_{0})-\E[\hat{f}(x_{0})]\bigr]^{2}
&&+ \sigma^{2}_{\epsilon}
\\
&= \Bias^{2} &&+ \Var(\hat{f}(x_{0})) &&+ \Var(\epsilon)
\end{alignedat}
\end{equation}
\begin{equation}
\setlength{\arraycolsep}{0pt}
\begin{array}{r O c O c O c O c}
\Err(x_{0}) &=&
\bigl(\E[\hat{f}(x_{0})]-f(x_{0})\bigr)^{2}
&+& \E\bigl[\hat{f}(x_{0})-\E[\hat{f}(x_{0})]\bigr]^{2}
&+& \sigma^{2}_{\epsilon}
\\[1ex]
&=& \Bias^{2} &+& \Var(\hat{f}(x_{0})) &+& \Var(\epsilon)
\end{array}
\end{equation}
\end{document}
Tenga en cuenta las definiciones de los cuatro operadores matemáticos; la \newcolumntype
declaración es para la segunda representación, representa la columna donde están los signos =
y .+
No utilices \left
y \right
, que producen vallas terriblemente grandes. Justo \bigl
y \bigr
son necesarios en dos lugares.
Respuesta2
En general no se debe utilizar align..
para ese tipo de construcción. Si las ecuaciones no están numeradas una solución es usararray
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\Bias}{Bias}
\DeclareMathOperator{\Var}{Var}
\begin{document}
\begin{equation*}
\setlength\arraycolsep{1.5pt}
\begin{array}{rcccccc}
Err(x_{0}) & = & \left(E\left[\hat{f}(x_{0})\right]-f(x_{0})\right)^{2}
& + & E\left[\hat{f}(x_{0})-E\left[\hat{f}(x_{0})\right]\right]^{2}
& + & \sigma^{2}_{\epsilon}\\
& = & \Bias^2
& + & \Var(\hat{f}(x_{0})
& + & \Var(\epsilon)
\end{array}
\end{equation*}
\end{document}
productor
Veresta respuestapara conocer el motivo para establecer el espacio entre columnas de la matriz en 1.5pt
.