уравнения автоматически выравниваются по левому краю, как их выровнять по центру?

уравнения автоматически выравниваются по левому краю, как их выровнять по центру?

У меня было впечатление, что уравнения выравниваются по центру. Я использую пакет, \documentclass [twocolumn, final] {svjour3}который, как я предполагаю, меняет это.

Например, это:

\begin{equation}
\begin{split}
\label{eq_vector_value}
V_{w_{xy}} &= 1 - Norm(\delta(w_{x},w_{y})) \\
           &= \{V_{w_{xy}} \in \mathbb{R} \| 0 \geq V_{w_{xy}} \geq 1\}.
\end{split}
\end{equation}

Выдает это:

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

Это формат из двух колонок, и я пытаюсь сделать его центрированным. Я ошибался, ожидая, что он автоматически выровняется по центру? Все уравнения в этой статье, похоже, выровнены по левому краю.

решение1

Это поведение класса по умолчанию. svjour3.clsвключает

\PassOptionsToPackage{fleqn}{amsmath}}

Так что по умолчанию

\documentclass[twocolumn, final]{svjour3}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage{lipsum} % just for the demo
\DeclareMathOperator{\Norm}{Norm}
\begin{document}
\lipsum[1-5] % Just for the demo
\begin{equation}
  \begin{split}
    \label{eq_vector_value}
    V_{w_{xy}} &= 1 - \Norm(\delta(w_{x},w_{y})) \\
    &= \{V_{w_{xy}} \in \mathbb{R} \| 0 \geq V_{w_{xy}} \geq 1\}.
  \end{split}
\end{equation}
\lipsum[5-15] % Just for the demo
\end{document}

производит:

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

(Кстати, вам следует использовать a, \DeclareMathOperatorчтобы наглядно отобразить вашу «норму» в уравнении.)

решение2

svjour3.clsопределяет fleqnкак опцию класса, но также передает эту опциюamsmathесли он загружен:

\DeclareOption{fleqn}{\input{fleqn.clo}\AtBeginDocument{\mathindent\z@}%
  \AtBeginDocument{\@ifpackageloaded{amsmath}{\@mathmargin\z@}{}}%
  \PassOptionsToPackage{fleqn}{amsmath}}

И, в twocolumnопции класса документа, он обязательно также использует fleqn, тем самым добавляя содержимое в \@begindocumenthookи настраивая amsmath:

\DeclareOption{twocolumn}{\@twocolumntrue\ExecuteOptions{fleqn}}

Вы можете переопределить это, используя следующее, удалив все параметры, переданные amsmathклассом документа

\makeatletter
\expandafter\let\csname [email protected]\endcsname\relax% Remove options passed to amsmath
\makeatother

Вышеизложенное кажется достаточным, но можно также удалить корректировки полей, введенные классом:

\makeatletter
\AtBeginDocument{
  \mathindent=15pt % Restore \mathindent
  \@mathmargin\@centering} % Restore \@mathmargin
\makeatother

Все вышесказанное противоречит здравому смыслу, поскольку у журналов есть определенные требования, которых следует придерживаться.

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

\documentclass[twocolumn, final]{svjour3}

\makeatletter
\expandafter\let\csname [email protected]\endcsname\relax% Remove options passed to amsmath
\AtBeginDocument{
  \mathindent=15pt % Restore \mathindent
  \@mathmargin\@centering} % Restore \@mathmargin
\makeatother

\usepackage{amsmath,amssymb,lipsum}

\begin{document}

\sloppy% Just for this document
\lipsum*[1]
\begin{equation}
  f(x) = ax^2 + bx + c
\end{equation}

\lipsum[2]

\end{document}

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