2014 dxdy logo

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

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




 
 Выравнивание числителей по общей линии
Сообщение22.02.2015, 01:50 
Аватара пользователя
Изображение
Используется синтаксис LaTeX
\frac{m_t^2}{L_t^2} = \frac{m_x^2}{L_x^2} + \frac{m_y^2}{L_y^2} + \frac{m_z^2}{L_z^2}

$$\frac{m_t^2}{L_t^2} = \frac{m_x^2}{L_x^2} + \frac{m_y^2}{L_y^2} + \frac{m_z^2}{L_z^2}$$

Как сделать так, чтобы все буквы $m$ были выровнены по общей основной линии?

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 01:56 
Можно добавить в нижние индексы фантомные символы $y$.

Используется синтаксис LaTeX
\frac{m_{t\phantom{y}}^2}{L_t^2} = \frac{m_{x\phantom{y}}^2}{L_x^2} + \frac{m_y^2}{L_y^2} + \frac{m_{z\phantom{y}}^2}{L_z^2}


Изображение

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 02:25 
Аватара пользователя
Я думал об этом. При фантомных $y$ вознакает визуальное смещение символов влево, которое не так заметно, как несоблюдение основной линии, но всё же на маленьких (в смысле, компактных) формулах наблюдается. Это можно устранить (не пробовал) использованием обратного смещения этого фантомного символа, но код при этом будет сильно перегружен, а неуместное усложение кода несмысловыми элементами я не приветствую.

Я думал, может, есть какой-то способ автоматизовать выравнивание линий. Порой меня удивляют возможности ТеХа, о которых я, бывший пользователь WYSIWYG редакторов, даже не подозревал.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 02:29 
Я бы тоже хотел увидеть решение, о котором Вы говорите.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 02:57 
$$\frac{m_t^2}{L_t^2} = \frac{m_x^2}{L_x^2} + \frac{m_{\smash[b]{y}}^2}{L_y^2} + \frac{m_z^2}{L_z^2}$$
М?

Если что:
Используется синтаксис LaTeX
$$\frac{m_t^2}{L_t^2} = \frac{m_x^2}{L_x^2} + \frac{m_{\smash[b]{y}}^2}{L_y^2} + \frac{m_z^2}{L_z^2}$$

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 03:26 
Аватара пользователя
Mysterious Light в сообщении #981083 писал(а):
Я думал об этом. При фантомных $y$ вознакает визуальное смещение символов влево

Тогда юзайте не \phantom, а \vphantom.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 03:30 
Это вариант, но он хуже:
Mysterious Light в сообщении #981083 писал(а):
код при этом будет сильно перегружен

Имхо, он может быть оправдан тогда, когда "особенных" слагаемых подавляющее большинство. Здесь же проще исправить одно, чем подгонять все под его особенности.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 04:37 
Интересные решения. Но они -- то же ручное пиление. Я так понял, что хочется знать автоматическое и универсальное решение. В принципе-то, (я читал, что) ТеХ в конечном счёте какими-то там боксами управляет (нет?). Ну вот: каким-то образом может же быть понятным (компьютеру), что в данном примере числители -- это одного типа боксы, и что, соответственно, управлять ими нужно одинаковым образом?

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 10:17 
Аватара пользователя
longstreet в сообщении #981101 писал(а):
Я так понял, что хочется знать автоматическое и универсальное решение.

Боюсь, такое может быть только очень сложным, в виде большой надстройки над существующим TeX-ом (в лучшем случае, пакет).

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 14:28 
Аватара пользователя
Otta, интересное решение. Наверное его я и будут использовать.

Про \vphantom как-то забыл. Однако, как отметил longstreet, в такое решение также будет многословным и с виду костыльным.

longstreet в сообщении #981101 писал(а):
Ну вот: каким-то образом может же быть понятным (компьютеру), что в данном примере числители — это одного типа боксы, и что, соответственно, управлять ими нужно одинаковым образом?
Точная постановка того, что меня интересовало.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 16:52 
Munin в сообщении #981125 писал(а):
Боюсь, такое может быть только очень сложным, в виде большой надстройки над существующим TeX-ом (в лучшем случае, пакет).

Да? А я-то считал, что это где-то внутри идеологии ТеХ-а :|

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение22.02.2015, 20:45 
Аватара пользователя
Внутри идеологии TeX-а - иерархическое построение формулы из кучи вложенных боксов. Которые собираются между собой вертикально и горизонтально, когда как. И при таком построении, между боксами числителей разных дробей нет уже никакой связи. Чтобы её создать, надо наворотить что-то искусственное.

Почитайте Кнута, ВсёпроTeX.

 
 
 
 Re: Выравнивание числителей по общей линии
Сообщение23.02.2015, 01:15 
Может быть натолкнет на другие варианты реализации желаемого:
http://tex.stackexchange.com/questions/70527/less-vertical-space-in-frac
http://tex.stackexchange.com/questions/120976/a-special-fraction-macro-with-raised-fraction-bar
http://tex.stackexchange.com/questions/133527/equal-size-numerator-and-denominator
http://tug.org/TUGboat/tb27-1/tb86jackowski.pdf

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


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