2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 02:49 


25/11/08
449
Такой код
Используется синтаксис LaTeX
$\frac{(1+mx)^n-(1+nx)^m}{x^2} = \frac{x^2\left( (\dots)x+ \frac{mn(n-m)}{2} \right)}{x^2} = \left( (\dots)x+ \frac{mn(n-m)}{2}\right) =\frac{mn(n-m)}{2}.$

дает результат:
Изображение

Очевидно, по умолчанию выравнивание по ширине. Как-то задать выравнивание в блоках math\displaymath по левому краю?

Знаю, что для выравнивания формул можно использовать блоки align и т.п., но хотелось бы задать выравнивание непосредственно для math\displaymath.

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 05:25 


25/11/08
449
Пробовал так
Используется синтаксис LaTeX
\begin{document}
\begin{preview}
\begin{flushleft}
$\displaystyle <myexpression>$
\end{flushleft}
\end{preview}
\end{document}

Если в <myexpression> нет переводов строки \\, то работает нормально, автоматически делает переносы и выравнивает все по левому краю, но если есть переносы, то выдает ошибку:
Код:
! LaTeX Error: There's no line here to end.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...                                                                                           
l.25 ...shleft}$\displaystyle \sin x+\cos x=1,4 \\
                                                   \frac{1}{\sqrt{2}}\sin x+...
?
! Emergency stop.
...                                                                                             
l.25 ...shleft}$\displaystyle \sin x+\cos x=1,4 \\
                                                   \frac{1}{\sqrt{2}}\sin x+...
Your command was ignored.
Type  I <command> <return>  to replace it with another command,
or  <return>  to continue without it.


Может есть какая-то глобальная переменная вроде \parindent или \mathindent, которая определяет тип выравнивания в "долларовых" блоках?

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 15:47 
Заслуженный участник
Аватара пользователя


30/01/06
72407
В одиночных долларах у вас вообще не displaymath.

Может быть, вы чего-нибудь прочитаете про TeX, прежде чем задавать углублённые вопросы?

-- 12.04.2015 15:48:43 --

P. S. См. ссылки, названные в теме «перенос формулы в текстовой моде».

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 20:17 


25/11/08
449
Munin в сообщении #1003000 писал(а):
В одиночных долларах у вас вообще не displaymath.
Имел ввиду math со свойством displaystyle.
Munin в сообщении #1003000 писал(а):
Может быть, вы чего-нибудь прочитаете про TeX, прежде чем задавать углублённые вопросы?
Искал, как смог. У Львовского тоже ничего не нашел.

Munin писал(а):
«перенос формулы в текстовой моде».
Munin писал(а):
Вот на эту тему в Львовском вам могут пригодиться перечисленные параграфы и их окрестности. Например, там упомянута команда \raggedright, которая делает абзац "выравненным влево", и все растянутые пробелы - по минимуму.

По ссылке нашел только один Ваш рецепт - \raggedright. Но \raggedright, вернее \raggedleft, это синоним \begin{flushleft} \end{flushleft}. С ним абсолютно такие же проблемы при наличии переноса \\ внутри блока.

Еще такая проблема. Если формула не умещается по ширине, то ее часть справа просто обрезается. Так и должно быть?

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 21:48 


25/11/08
449
Ошибся немного: \raggedright это синоним \begin{flushleft} \end{flushleft}. Запутался уже в left, rigth.

Перенос сроки \\ вообще предназначен для использования в однодолларовых блоках вне специальных блоков matrix, align и т.п.?

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 22:27 
Заслуженный участник
Аватара пользователя


30/01/06
72407
ellipse в сообщении #1003134 писал(а):
По ссылке нашел только один Ваш рецепт - \raggedright.

Напрасно. Там были ссылки на конкретные параграфы Львовского и упоминание Кнута.

В общем, ваша проблема в том, что вы не умеете читать. И не желаете вдобавок.

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 00:32 


25/11/08
449
Munin в сообщении #1003181 писал(а):
Напрасно. Там были ссылки на конкретные параграфы Львовского и упоминание Кнута.
Читал те параграфы. Там рекомендуется тот же \raggedright.

Munin в сообщении #1003181 писал(а):
В общем, ваша проблема в том, что вы не умеете читать. И не желаете вдобавок.
Вам трудно подсказать, если умеете читать? Просто сами не знаете, как решить такую задачу.

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 17:09 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Да, не знаю. Но знаю, что там намного больше всяких нюансов, чем один-единственный \raggedright, кроме которого вы, почему-то, ничего не увидели.

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 19:14 
Заслуженный участник
Аватара пользователя


27/05/11
874
ellipse в сообщении #1002831 писал(а):
Как-то задать выравнивание в блоках ... по левому краю?

Не совсем то, что вы хотели, но для громоздких формул подходит вполне.
Код:
\begin{multline}
... \\ [X cm]
...
\end{multline}

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 19:35 
Заслуженный участник
Аватара пользователя


30/01/06
72407
lek
Как я понял, ellipse отлаживает движок для форума, так что ему нужны автоматические решения, а не интеллектуальные.

 Профиль  
                  
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 20:54 


25/11/08
449
Munin в сообщении #1003462 писал(а):
lek
Как я понял, ellipse отлаживает движок для форума, так что ему нужны автоматические решения, а не интеллектуальные.
Да, совершенно верно. Пользователю разрешается вставлять специальные блоки для выравнивания типа align, flalign, gather и тп.. Но если в выражении таких блоков нет, то по умолчанию выражение вставляется в однодолларовый, т.е. в math-блок.

Странно, почему включение \raggedright приводит к запрету переносов строки // в math-блоке. При этом переносы \newline разрешаются, не приводят к ошибке. Может в пакете ragged2e команда \\ как-то переопределена и ее можно переопределить обратно?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group