Найти в Дзене

Математические выкладки в документе без мыслей о суициде. Часть 3. Дроби

Оглавление

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

Классика

Для того, чтобы написать дробь, удобно пользоваться командами \frac, \dfrac и \tfrac. Разница между этими командами в первую очередь в том, как они ведут себя, если набраны в строчной формуле.

  • \frac - элементы дроби автоматически подгоняются размером под строку, (это бывает неудобно, ежели дробь шибко фендибоберна)
  • \dfrac - дробь не подгоняется под размер строки, (это бывает удобно, ежели дробь шибко фендибоберна и не охота, чтоб ейное содержимое было намельчено)
  • \tfrac - то же самое, что \dfrac, применяется, если дробь стоит в верхнем или нижнем индексе.
  • \cfrac - работает как \dfrac, но позволяет сменить выравнивание числителя по центру на лево- или правостороннее (енто бывает надо, когда дробь не просто фендибоберна, а ,как говорят, цепная).
У каждой из этих команд есть два варианта набора: \frac35 или \frac{3}{5}. Первый удобно использовать, если числитель и знаменатель - одиночные символы, второй позволяет набрать любое выражение в числитель(первый аргумент) и знаменатель(второй аргумент). Для команды /cfrac может быть ещё и необязательный аргумент ([l] от слова left или [r] от слова right), указывающий по левому или по правому краю выравнивать числитель
В цепной дроби поигрались с выравниванием числителя. Без причины, потому что мы можем)
В цепной дроби поигрались с выравниванием числителя. Без причины, потому что мы можем)

Косая дробь

В набранном примере очевидным "вырвиглазом" является набор трёхэтажной дроби в строке текста, этого желательно избегать, но если очень надо, то лучше воспользоваться косой дробью. Для этого подойдёт символ "/", если есть нужда, чтоб он растянулся в соответствии с содержимым, используйте команды \left и \right (подробности - в статье про скобки).

Кроме этого, для постановки косой дроби, удобно использовать пакет nicefrac, а если хочется оформить дробные единицы измерения - пакет unitfrac. Документация и описание тонкостей настройки этих пакетов (если результат, получаемый без их настройки, Вас не устраивает) доступна тут (правда, она англоязычная), разбирать её в данной статье смысла не вижу.

Та же трёхэтажная дробь, со знаменателем, набранным через \textbf{$\backslash$nicefrac}: $\frac{a}{\nicefrac{b}{c}}$
Скорость света в вакууме примерно равна $3\cdot10^9$ \unitfrac{м}{с}
Результат компиляции приведённого примера. Физики, простите за неверную скорость света, менять лень))
Результат компиляции приведённого примера. Физики, простите за неверную скорость света, менять лень))

Генерация своих дробей, с азартными играми и профурсетками.

В пакете amsmath, который необходим для использования команд \dfrac, \tfrac и \cfrac, есть команда, позволяющая сгенерировать дробь, имеющую отличительные особенности. Команда \genfrac имеет 6 обязательных аргументов:

  1. Левый ограничитель (скобка или её подобие)
  2. Правый ограничитель (скобка или её подобие)
  3. Толщина дробной черты (может быть нулевой)
  4. Размер шрифта для числителя и знаменателя ({} - как при \frac, {0} - размер как при \dfrac, {1} - как при \tfrac, {2} - ещё мельче, {3} - совсем мельче)
  5. Числитель
  6. Знаменатель
\[\genfrac{|}{/}{3pt}{0}{x}{a+bz}\]
Вот такую бессмысленную дичь (и т.п.) можно задать вручную
Вот такую бессмысленную дичь (и т.п.) можно задать вручную

Естественно, если какая-то выёжистая дичь у вас в документе фигурирует часто, при этом меняются у ней только числитель и знаменатель, такую конструкцию хочется заменить на более простую.

Команда \newcommand позволит заменить такую форму простой командой с двумя переменными (числителем и знаменателем):

\newcommand{\dich}[2]{\genfrac{|}{/}{3pt}{0}{#1}{#2}}

Работать с этой командой довольно легко (подробнее о её возможностях в будет в другой статье), скажу только, что в указанном примере первый аргумент - название новой команды, необязательный аргумент - количество аргументов новой команды, и последний аргумент - код, который она будет реализовывать (жирным текстом написан), при этом два аргумента вставляются туда, где написано #1 для первого аргумента и #2 для второго (естессно не тэги а знак "решётка", который дзен не даёт мне поставить).

После этого можно свободно пользоваться новой командой:

$\dich{числитель}{знаменатель}$

Задаст нам такую дробь:

-4

Таким образом, конечно же, можно писать не только дроби, но и что угодно, расположенное друг над другом.

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