Расположить члены уравнения по центру?

Расположить члены уравнения по центру?

У меня есть следующее уравнение:

введите описание изображения здесь

Обратите внимание, что последние два термина не отцентрированы? Если я использую код, указанный ниже, я получу этот эффект. Теперь, что я хотел бы получить, это эффект, показанный в первом термине (отцентрировать термин "Bias"). Вы, вероятно, также видите, что поскольку я немного ошибаюсь с рисованием, первые термины не отцентрированы правильно.

Теперь мне стало интересно, возможно ли это сделать в Latex? Обратите внимание, что это должно быть по центру между знаком равенства и знаком плюса.

В кодовой форме:

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

Теперь, к сожалению, члены в первом уравнении и втором уравнении не центрированы. Мне было интересно, как я могу центрировать каждый член.

Спасибо

решение1

Я бы не центрировал термины, но это всего лишь мое мнение.

Вы можете получить правильное расстояние вокруг символов =и +с помощью 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}

Обратите внимание на определения четырех математических операторов; объявление \newcolumntypeотносится ко второму отображению, оно представляет столбец, где находятся знаки =и +.

Не используйте \leftи \right, которые производят ужасно большие заборы. Просто \biglи \bigrнеобходимы в двух местах.

введите описание изображения здесь

решение2

В общем случае не следует использовать align..для такого рода построения. Если уравнения не пронумерованы, то решение заключается в использованииarray

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

производство

введите описание изображения здесь

Видетьэтот ответдля обоснования установки межстолбцового пространства массива в 1.5pt.

Связанный контент