Простая проблема с выравниванием в латексной таблице - PullRequest
5 голосов
/ 23 февраля 2010

У меня есть простой вопрос выравнивания для латексных таблиц. В момент выглядит следующим образом:

\begin{center}
  \begin{tabular}{| c | l | l | }
   \hline
    \tt {a} & $a = b + c + d + e + f + g + $ \\ 
        & $    e + f + g + h + i + j$ \\ \hline
    \end{tabular}
\end{center}

Проблема в том, что вывод выглядит следующим образом:

a = b + c + ...
e + f + ....

Однако мне бы хотелось, чтобы это выглядело как

a = b + c + ...
    e + f + ...

Кто-нибудь знает, как я могу сделать это в таблице?

Спасибо, Клаус

Ответы [ 3 ]

6 голосов
/ 23 февраля 2010

Пожалуйста, используйте среду align для многострочных уравнений.


Вы можете добавить \phantom{a = } для указания пробелов, которые должны существовать.

    & $\phantom{a = }e + f + g + h + i + j$ \\ \hline
2 голосов
/ 23 февраля 2010

Как указал KennyTM, вы не должны набирать многострочные уравнения, используя таблицы, подобные этой. Но если вы должны это сделать, вы можете сделать это так:

\begin{center}
  \begin{tabular}{| c | l @{} l | }
   \hline
    \tt {a} & $a =\;$ & $b + c + d + e + f + g + $ \\ 
        & & $e + f + g + h + i + j$ \\ \hline
    \end{tabular}
\end{center}
0 голосов
/ 23 февраля 2010

Обычным способом является создание дополнительного столбца для части a =; выравнивание по правому краю и удаление пробела со следующим столбцом для эстетики:

\begin{tabular}{ c r @{} l } % you have one superfluous l
  \tt {a} & $a =$ & $b + c + d + e + f + g +$ \\ 
          &       & $e + f + g + h + i + j$ \\
\end{tabular}

Возможно, вам понадобится явный пробел после знака =, чтобы он правильно располагался с b.

Другим решением было бы иметь многострочное уравнение в одной ячейке таблицы, но это равносильно (вам понадобится окружение array или что-то похожее для переноса левой части).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...