2014 dxdy logo

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

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




 
 Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 02:49 
Такой код
Используется синтаксис 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 
Пробовал так
Используется синтаксис 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 
Аватара пользователя
В одиночных долларах у вас вообще не displaymath.

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

-- 12.04.2015 15:48:43 --

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

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 20:17 
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 
Ошибся немного: \raggedright это синоним \begin{flushleft} \end{flushleft}. Запутался уже в left, rigth.

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

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение12.04.2015, 22:27 
Аватара пользователя
ellipse в сообщении #1003134 писал(а):
По ссылке нашел только один Ваш рецепт - \raggedright.

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

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

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 00:32 
Munin в сообщении #1003181 писал(а):
Напрасно. Там были ссылки на конкретные параграфы Львовского и упоминание Кнута.
Читал те параграфы. Там рекомендуется тот же \raggedright.

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

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 17:09 
Аватара пользователя
Да, не знаю. Но знаю, что там намного больше всяких нюансов, чем один-единственный \raggedright, кроме которого вы, почему-то, ничего не увидели.

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 19:14 
Аватара пользователя
ellipse в сообщении #1002831 писал(а):
Как-то задать выравнивание в блоках ... по левому краю?

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

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

 
 
 
 Re: Как изменить выравнивание текста в math\displaymath?
Сообщение13.04.2015, 20:54 
Munin в сообщении #1003462 писал(а):
lek
Как я понял, ellipse отлаживает движок для форума, так что ему нужны автоматические решения, а не интеллектуальные.
Да, совершенно верно. Пользователю разрешается вставлять специальные блоки для выравнивания типа align, flalign, gather и тп.. Но если в выражении таких блоков нет, то по умолчанию выражение вставляется в однодолларовый, т.е. в math-блок.

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

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


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