プレーンテキストで表示形式の分数を生成する方法

プレーンテキストで表示形式の分数を生成する方法

表示形式の分数を生成する方法プレーンテキスト?

\overたとえば、プレーン tex では分数に が使用されることは知っています{1}\over{2}

しかし、displaystyle fractions を実行するにはどうすればよいでしょうか? 使用してみました\displaystyleが、認識できないものしか表示されませんでした。

注: 私の意図は、Manim の数式を扱うことでした。

答え1

私の意見では、分数表記は、Knuth が 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}}。逆に、表示数式モードでテキストスタイルの分数を作成する必要がある場合は を使用することをお勧めします{\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}}

関連情報