
Как создать стиль отображения дробей впростой текст?
Я знаю, что обычный текст используется \over
, например, для дробей {1}\over{2}
.
Но как сделать displaystyle дроби? Я пробовал использовать \displaystyle
, но ничего не отрисовывалось, кроме какой-то неузнаваемой фигни.
Примечание. Я намеревался разобраться с математическими формулами Манима.
решение1
По моему мнению, дробная запись — самый неудачный выбор Кнута при проектировании TeX.
Команда \over
принимаетнетаргумент вообще и ваш {1}\over{2}
синтаксис не имеет никаких преимуществ: попробуйте
$$3+{1}\over{2}$$
и сами убедитесь, что результат не такой, как вы могли подумать. Синтаксис \over
для
{<numerator> \over <denominator>}
и брекетыобязательныйесли только дробь не является единственным объектом в математической формуле. Таким образом
the fraction $1\over 2$ represents a half
нормально, но
the expression $1+1\over2$ represents three halves
неверно либо в формуле, либо в тексте.
Как нам подать заявку \displaystyle
? Конечно, не с
{\displaystyle 1\over 2}
поскольку это будет применяться только \displaystyle
к числителю.
Следующая попытка будет
\displaystyle{1\over 2}
но, конечно, это применит этот стиль ко всему последующему.
Чтобы применить стиль только к дроби, выполните
{\displaystyle{1\over2}}
Можете ли вы определить сокращение, например \dover
? Нет. Невозможно определить команды, которые ведут себя как \over
, \atop
, \above
и связанные с ними \...withdelims
вариации.
Сделайте себе одолжение и выпустите
\def\frac#1#2{{\begingroup#1\endgroup\over#2}}
\def\dfrac#1#2{{\displaystyle\frac{#1}{#2}}}
так что вы можете напечатать
\frac{1}{2}
и легко модифицировать его в
\dfrac{1}{2}
если возникнет такая необходимость.
Почему \begingroup...\endgroup
? Потому что назначения, выполненные в числителе, могут (и будут) просачиваться в знаменатель.
решение2
Ваш пример использования \over
плохой, правильный пример — {1\over2+3}
или, если дробь — это один объект в математическом режиме, то вы можете опустить скобки и написать $1\over2+3$
. В режиме отображения \over
создает отображаемую дробь. В текстовом режиме вы можете написать $\displaystyle{1\over2+3}$
. Если вы пишете только , $\displaystyle 1\over 2+3$
то только числитель находится в стиле отображения, потому что каждая часть дроби устанавливает свой собственный математический стиль. Вы можете прочитатьНабор математики в OpTeX, особенно раздел 1.4.
решение3
Я предлагаю вам использовать {\displaystyle {1 \over 2}}
while в режиме встроенной математики. И наоборот, если вам нужно создать текстовую дробь в режиме отображения математики, я предлагаю вам использовать {\textstyle {1 \over 2}}
.
%% inline-style math mode is the default:
\centerline{%
$1 \quad {1 \over 2} \quad {\displaystyle {1 \over 2}} \quad 2$}
%% display-style math mode is the default:
$$ 1 \quad {1 \over 2} \quad {\textstyle {1 \over 2}} \quad 2$$
\bye
Обратите внимание, что и то, \textstyle
и \displaystyle
другоепереключениекоманды и не принимают явный аргумент. Это означает, что их область действия простирается до конца текущей группы TeX. Следовательно, следует писать {\textstyle {1 \over 2}}
вместо \textstyle{{1 \over 2}}
.