2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Центрирование многострочных формул
Сообщение26.11.2008, 13:53 
Добрый день. Столкнулся с этой проблемой и прошу ваших советов.
Окружение \begin{gather*} \end{gather*} центрирует многострочную формулу автоматически, но не нумерует её, или нумерует все строки, если опустить *. Чтобы занумеровать всю формулу надо применить доп. окружение \begin{split}, но при этом все строки выравняются по краю и расставлять строки друг под другом надо будет вручную с помощью &. Есть ла какой способ набрать нумерованную одним числом многострочную формулу, чтобы строки автоматически выравнивались по центру страницы?
PS. Окружение multline мне не нравится.

 
 
 
 
Сообщение26.11.2008, 14:01 
Добавляйте \nonumber во все строки, кроме той, где нужен номер (т.е. строка где-нибудь в середине).

 
 
 
 
Сообщение26.11.2008, 14:02 
Так вроде \begin{array}{c}...\end{array} это делает:
$$\begin{equation}\label{test}
\begin{array}{c}
A=B\\
C=D=G\\
\ldots\\
\sin^2 x+\cos^2 x=1
\end{array}
\end{equation}
$$

 
 
 
 Re: Центрирование многострочных формул
Сообщение26.11.2008, 14:20 
Аватара пользователя
Решение: воспользоваться обычным equaton, а внутри него воспользоваться окружением gathered.

Нумерация будет как в equation, а выравнивание как в gather

P.S. описался, пропустив одну e в gathered

 
 
 
 
Сообщение26.11.2008, 16:23 
Благодарю за ответы, но пока что ни один не годится в полной мере.
\nonumber или \notag расставлять во всех строках немного накладно, к тому же если число строк - чётное, то номер будет выглядеть криво.
Использовать array для формулы слегка мазохистично, но я попробовал
\begin{array}{c}
a=1 \\
b=2+90
\end{array}

и результат ужасен.

Третий вариант не представляется безнадёжным, но на пробную задачу

\begin{equation}
\begin{gather}
a=1 \\
b=2+90
\end{gather}
\end{equation}

от латеха следует матюгание:
! Package amsmath Error: \begin{gather} allowed only in paragraph mode.
а при просмотре в превьюере на экране из всего текста только сам нумер.
Благодарю всех за участие и жду новых рацпредложений.

 
 
 
 
Сообщение26.11.2008, 16:58 
Аватара пользователя
Не gather, а gathered - это другое окружение.

P.S. описался, пропустив одну e в gathered

 
 
 
 
Сообщение26.11.2008, 18:07 
Отлично, Evgueni, это то что было нужно. Послушайте, если вы такой спец, то может заодно скажете как делать скобки переменной высоты, типа \left( \right) , когда они располагаются в разных строках, чтобы это не вызывало системной ошибки?

 
 
 
 
Сообщение26.11.2008, 18:43 
Аватара пользователя
Кто мешает в одной строке делать только левую, в другой - только правую, а выравнивать (если нужно) фантомами?

 
 
 
 
Сообщение26.11.2008, 19:11 
Не понял. Второй вопрос уже не про выравнивание, а про то, что скобочки не переносятся. Т.е. в таком пробнике

begin{gather}
\left(a+ \\
+b \right)
\end{gather}

возникает ошибка
! Extra }, or forgotten \right.
и вторая скобка не ставится.
Если можно, поясните вашу мысль подробнее.

 
 
 
 
Сообщение26.11.2008, 19:54 
Аватара пользователя
titus

В Вашем коде явная ошибка. Перед переходом на следующую строку \\ нужно закрыть(открыть) пару left/right, т.е.
\left(....\right.\\
\left. ....\right)\\

 
 
 
 
Сообщение26.11.2008, 20:24 
Дык я про это и спрашиваю.
Дайте образец, как набрать формулу:

(1+

2)

в которой скобки не простые "(", ")" , а специальные - со словами left, right или их некие мне неведомые многострочные аналоги. В реальном тексте вместо 1 и 2 стоят страшные суммы и они некрасиво смотрятся с маленькими скобками. Утверждается, что это можно как-то сделать.

 
 
 
 
Сообщение26.11.2008, 21:18 
Аватара пользователя
Дак говорю же ж: фантомами!
Как тут: http://dxdy.ru/topic6543.html

 
 
 
 
Сообщение26.11.2008, 21:44 
titus в сообщении #162295 писал(а):
Использовать array для формулы слегка мазохистично, но я попробовал
\begin{array}{c}
a=1 \\
b=2+90
\end{array}
и результат ужасен.

Естественно, центрировать такую пару формул будет ужасно. Но Вы же именно этого хотели? Значит, скорее всего, для формул другого типа?

Ну, то есть я буду признателен, если автор или кто-то объяснит мне, чего я не понял в изначальном вопросе?

 
 
 
 
Сообщение29.11.2008, 13:59 
array и gathered дают примерно одинаковые результаты, но (имхо) последний всё-таки получше, т.к. он даёт большее расстояние между строками и смотрится это лучше.

 
 
 [ Сообщений: 14 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group