Ich habe folgende Gleichung:
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 alignedat
oder 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 \newcolumntype
Deklaration gilt für die zweite Darstellung und stellt die Spalte dar, in der sich die Zeichen =
und +
befinden.
Verwenden Sie nicht \left
und \right
, da dies zu furchtbar überdimensionierten Zäunen führt. Nur \bigl
und \bigr
sind an zwei Stellen erforderlich.
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
Sehendiese Antwortfür die Begründung zum Festlegen des Array-Spaltenabstands auf 1.5pt
.