0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MathJax の TeX で割り算の筆算を表示する

Last updated at Posted at 2023-06-06

02.png

Qiita 等では MathJax によって数式を表示できます。

TeX で割り算の筆算を表示する従来の方法として array 環境を使われることがありますが、MathJax では array 環境で \cline が使えない等の理由で扱いにくかったため、他の方法で表示することにします。

参考「MathJax | Beautiful math in all browsers.
参考「TeX Commands available in MathJax
参考「Supported TeX/LaTeX commands — MathJax 3.2 documentation

1. 筆算の除算記号

MathJax では enclose 拡張機能を用いて \enclose{longdiv} で筆算の除算記号を表示可能です。

例:

\require{enclose}
12 \enclose{longdiv}{345}
\require{enclose}
12 \enclose{longdiv}{345}

参考「enclose — MathJax 3.2 documentation

2. 割り算の筆算の記述例

2.1. 正の整数の割り算

2.1.1. 単純に記述する場合

除算記号は \enclose{longdiv}、横線を \underline で記述することで筆算を表示することができます。

各行の数字は右に多く出現するため右寄せとし、空白部分は \phantom で作ります。

例:

\require{enclose}
\begin{align}
	28 \\
	12 \enclose{longdiv}{345} \\
	\underline{24} \phantom{0} \\
	105 \\
	\underline{96} \\
	9
\end{align}
\require{enclose}
\begin{align}
	28 \\
	12 \enclose{longdiv}{345} \\
	\underline{24} \phantom{0} \\
	105 \\
	\underline{96} \\
	9
\end{align}

2.1.2. ズレを修正する場合

MathJax では右寄せした場合に \underline\enclose 等を使用するとズレが発生することがあります。

\rlap を用いて除算記号や横線を重ねて表示することでこのズレを修正できます。

(\llap でも数のズレは修正できますが、その場合は除算記号や横線でズレが発生します。)

(厳密にはこの方法でも除算記号と被除数の相対的な位置でズレが発生します。)

例:

\require{enclose}
\begin{align}
	28 \\
	12 \rlap{\enclose{longdiv}{\phantom{ 345 }}} \hspace{0.5em} 345 \\
	\rlap{\underline{\phantom{ 24 }}} 24 \phantom{0} \\
	105 \\
	\rlap{\underline{\phantom{ 96 }}} 96 \\
	9
\end{align}
\require{enclose}
\begin{align}
	28 \\
	12 \rlap{\enclose{longdiv}{\phantom{ 345 }}} \hspace{0.5em} 345 \\
	\rlap{\underline{\phantom{ 24 }}} 24 \phantom{0} \\
	105 \\
	\rlap{\underline{\phantom{ 96 }}} 96 \\
	9
\end{align}

2.2. 多項式の割り算

2.2.1. 単純に記述する場合

除算記号は \enclose{longdiv}、横線を \underline で記述することで筆算を表示することができます。

各行の数式の文字は右に多く出現するため右寄せとし、空白部分は \phantom で作ります。

例:

\require{enclose}
\begin{align}
	4 x^\phantom{3} - 3 \phantom{x^2} \phantom{{} + 00 x + 0} \\
	x^2 + 2 x + 3 \enclose{longdiv}{ 4 x^3 + 5 x^2 } \phantom{{} + 00 x + 0} \\
	\underline{ 4 x^3 + 8 x^2 + 12 x } \phantom{{} + 0} \\
	{} - 3 x^2 - 12 x \phantom{{} + 0} \\
	\underline{ {} - 3 x^2 - \phantom{0}6 x - 9 } \\
	{} - \phantom{0}6 x + 9
\end{align}
\require{enclose}
\begin{align}
	4 x^\phantom{3} - 3 \phantom{x^2} \phantom{{} + 00 x + 0} \\
	x^2 + 2 x + 3 \enclose{longdiv}{ 4 x^3 + 5 x^2 } \phantom{{} + 00 x + 0} \\
	\underline{ 4 x^3 + 8 x^2 + 12 x } \phantom{{} + 0} \\
	{} - 3 x^2 - 12 x \phantom{{} + 0} \\
	\underline{ {} - 3 x^2 - \phantom{0}6 x - 9 } \\
	{} - \phantom{0}6 x + 9
\end{align}

見やすくするために数式の項の間に \hspace 等の空白を入れることもできます。

例:

\require{enclose}
\begin{align}
	\hspace{0.5em} 4 x^\phantom{3} \hspace{0.5em} - 3 \phantom{x^2} \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	x^2 \hspace{0.5em} + 2 x \hspace{0.5em} + 3 \hspace{0.5em} \enclose{longdiv}{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} } \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	\underline{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} } \phantom{{} + 0 \hspace{0.5em}} \\
	\hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\underline{ \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} } \\
	\hspace{0.5em} {} - \phantom{0}6 x \hspace{0.5em} + 9 \hspace{0.5em}
\end{align}
\require{enclose}
\begin{align}
	\hspace{0.5em} 4 x^\phantom{3} \hspace{0.5em} - 3 \phantom{x^2} \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	x^2 \hspace{0.5em} + 2 x \hspace{0.5em} + 3 \hspace{0.5em} \enclose{longdiv}{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} } \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	\underline{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} } \phantom{{} + 0 \hspace{0.5em}} \\
	\hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\underline{ \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} } \\
	\hspace{0.5em} {} - \phantom{0}6 x \hspace{0.5em} + 9 \hspace{0.5em}
\end{align}

2.2.2. ズレを修正する場合

前述の通り、MathJax では右寄せした場合に \underline\enclose 等を使用するとズレが発生することがあるため、\rlap を用いて除算記号や横線を重ねて表示してこのズレを修正します。

(\llap でも数のズレは修正できますが、その場合は除算記号や横線でズレが発生します。)

(厳密にはこの方法でも除算記号と被除数の相対的な位置でズレが発生します。)

例:

\require{enclose}
\begin{align}
	4 x^\phantom{3} - 3 \phantom{x^2} \phantom{{} + 00 x + 0} \\
	x^2 + 2 x + 3 \rlap{\enclose{longdiv}{\phantom{ 4 x^3 + 5 x^2 }}} \hspace{0.5em} 4 x^3 + 5 x^2 \phantom{{} + 00 x + 0} \\
	\rlap{\underline{\phantom{ 4 x^3 + 8 x^2 + 12 x }}} 4 x^3 + 8 x^2 + 12 x \phantom{{} + 0} \\
	{} - 3 x^2 - 12 x \phantom{{} + 0} \\
	\rlap{\underline{\phantom{ {} - 3 x^2 - \phantom{0}6 x - 9 }}} {} - 3 x^2 - \phantom{0}6 x - 9 \\
	{} - \phantom{0}6 x + 9
\end{align}
\require{enclose}
\begin{align}
	4 x^\phantom{3} - 3 \phantom{x^2} \phantom{{} + 00 x + 0} \\
	x^2 + 2 x + 3 \rlap{\enclose{longdiv}{\phantom{ 4 x^3 + 5 x^2 }}} \hspace{0.5em} 4 x^3 + 5 x^2 \phantom{{} + 00 x + 0} \\
	\rlap{\underline{\phantom{ 4 x^3 + 8 x^2 + 12 x }}} 4 x^3 + 8 x^2 + 12 x \phantom{{} + 0} \\
	{} - 3 x^2 - 12 x \phantom{{} + 0} \\
	\rlap{\underline{\phantom{ {} - 3 x^2 - \phantom{0}6 x - 9 }}} {} - 3 x^2 - \phantom{0}6 x - 9 \\
	{} - \phantom{0}6 x + 9
\end{align}

見やすくするために数式の項の間に \hspace 等の空白を入れることもできます。

例:

\require{enclose}
\begin{align}
	\hspace{0.5em} 4 x^\phantom{3} \hspace{0.5em} - 3 \phantom{x^2} \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	x^2 \hspace{0.5em} + 2 x \hspace{0.5em} + 3 \hspace{0.5em} \rlap{\enclose{longdiv}{\phantom{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} }}} \hspace{0.5em} \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	\rlap{\underline{\phantom{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} }}} \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\rlap{\underline{\phantom{ \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} }}} \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} \\
	\hspace{0.5em} {} - \phantom{0}6 x \hspace{0.5em} + 9 \hspace{0.5em}
\end{align}
\require{enclose}
\begin{align}
	\hspace{0.5em} 4 x^\phantom{3} \hspace{0.5em} - 3 \phantom{x^2} \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	x^2 \hspace{0.5em} + 2 x \hspace{0.5em} + 3 \hspace{0.5em} \rlap{\enclose{longdiv}{\phantom{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} }}} \hspace{0.5em} \hspace{0.5em} 4 x^3 \hspace{0.5em} + 5 x^2 \hspace{0.5em} \phantom{{} + 00 x \hspace{0.5em} + 0 \hspace{0.5em}} \\
	\rlap{\underline{\phantom{ \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} }}} \hspace{0.5em} 4 x^3 \hspace{0.5em} + 8 x^2 \hspace{0.5em} + 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - 12 x \hspace{0.5em} \phantom{{} + 0 \hspace{0.5em}} \\
	\rlap{\underline{\phantom{ \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} }}} \hspace{0.5em} {} - 3 x^2 \hspace{0.5em} - \phantom{0}6 x \hspace{0.5em} - 9 \hspace{0.5em} \\
	\hspace{0.5em} {} - \phantom{0}6 x \hspace{0.5em} + 9 \hspace{0.5em}
\end{align}
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?