Die Terme in einer Gleichung zentrieren?

Die Terme in einer Gleichung zentrieren?

Ich habe folgende Gleichung:

Bildbeschreibung hier eingeben

Merken Sie, dass die letzten beiden Terme nicht zentriert sind? Wenn ich den unten angegebenen Code verwende, würde ich diesen Effekt erzielen. Was ich jetzt gerne hätte, ist der Effekt, der im ersten Term gezeigt wird (zentrierter Term „Bias“). Sie sehen wahrscheinlich auch, dass die ersten Terme nicht richtig zentriert sind, da ich mit Paint irgendwie versage.

Jetzt habe ich mich gefragt, ob das in Latex möglich ist. Beachten Sie, dass es zwischen dem Gleichheitszeichen und dem Pluszeichen zentriert sein sollte.

In Codeform:

\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}

Leider sind die Terme in der ersten und zweiten Gleichung nicht zentriert. Ich habe mich gefragt, wie ich jeden Term zentrieren kann.

Danke

Antwort1

Ich würde die Begriffe nicht zentrieren, aber das ist nur meine Meinung.

=Den richtigen Abstand um die Symbole und können Sie +mit alignedatoder auch mit erzielen array, wenn Sie die Zentrierung bevorzugen.

\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}

Beachten Sie die Definitionen der vier mathematischen Operatoren. Die \newcolumntypeDeklaration gilt für die zweite Darstellung und stellt die Spalte dar, in der sich die Zeichen =und +befinden.

Verwenden Sie nicht \leftund \right, da dies zu furchtbar überdimensionierten Zäunen führt. Nur \biglund \bigrsind an zwei Stellen erforderlich.

Bildbeschreibung hier eingeben

Antwort2

Im Allgemeinen sollte man align..für diese Art von Konstruktion nicht verwenden. Wenn die Gleichungen nicht nummeriert sind, ist eine Lösung zu verwendenarray

\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}

Produktion

Bildbeschreibung hier eingeben

Sehendiese Antwortfür die Begründung zum Festlegen des Array-Spaltenabstands auf 1.5pt.

verwandte Informationen