![Centralizar os termos em uma equação?](https://rvso.com/image/305916/Centralizar%20os%20termos%20em%20uma%20equa%C3%A7%C3%A3o%3F.png)
Eu tenho a seguinte equação:
Observe como os dois últimos termos não estão centralizados? Se eu usar o código especificado abaixo, obterei esse efeito. Agora, o que eu gostaria de ter é o efeito mostrado no primeiro termo (centrado no termo “Viés”). Você provavelmente também verá que, como falho com a pintura, os primeiros termos não estão centralizados corretamente.
Agora eu queria saber se é possível fazer isso em látex? Observe que ele deve estar centralizado entre o sinal de igual e o sinal de mais.
Em 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}
Agora, infelizmente, os termos na primeira equação e nas segundas equações não estão centralizados. Eu queria saber como posso centralizar cada termo.
Obrigado
Responder1
Eu não centralizaria os termos, mas é apenas minha opinião.
Você pode obter o espaçamento correto ao redor dos símbolos =
e +
com alignedat
ou também com array
se preferir centralizar.
\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}
Observe as definições dos quatro operadores matemáticos; a \newcolumntype
declaração é para a segunda renderização, representa a coluna onde estão os sinais =
e .+
Não use \left
e \right
, que produzem cercas muito grandes. Apenas \bigl
e \bigr
são necessários em dois lugares.
Responder2
Em geral não se deve utilizar align..
para esse tipo de construção. Se as equações não forem numeradas, uma solução é 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}
produzindo
Veresta respostapara obter a justificativa para definir o espaço entre colunas da matriz como 1.5pt
.