mikeo_410
  1. 2.GASで作ったCMS
    1. 1.googleドキュメントでサイト
    2. 2.googleドキュメントのCMS
    3. 3.このCMSアプリの使い方
    4. 4.数式

数式

  1. 「挿入」「計算式」には行列を記述する用意がないようです。
  2. 行列以外は不便を感じませんが、気が付いた点を。
  1. html化すると式ごとに図形ファイルとして保存される。
  2. 1つの計算式は1行で完結。2行以上の一連の式は分割するほかない。
  3. 長い式は図形ファイルが作られない。
  4. 全角文字が混じると?マークだらけになる。

こうした理解は、HTML化したドキュメントを、ブラウザの「名前を付けて保存」で保存したhtmlファイルを見ての話しです。つまり、google ドキュメントを、「ウェブに公開」した段階で、HTMLファイルが作られ、数式は図を参照するようになるものと考えていました。

しかし、「名前を付けて保存」を自前でやろうとして気が付きました。「名前を付けて保存」は、htmlをそのまま保存するわけではなく、imgタグのsrcを一つのフォルダに集めて、srcに記述されたパスを書き換えています。

書き換える前の img は、以下のようになっていました。

  1. <img src="https://www.google.com/chart?cht=tx&amp;chf=bg,s,FFFFFF00&amp;chco=000000&amp;chl=%5Cbegin%7Bbmatrix%7Da%20%26%20b%20%5C%5Cc%20%26%20d%20%5Cend%7Bbmatrix%7D">

つまり、chartと言うCGIがあり、逐次、chl で指定された「式」を図に変換しているようです。chl の記述は、「\begin{bmatrix}a & b \\c & d \end{bmatrix}」をURLエンコードしたものです。

chartは、LaTexを画像にするCGIのようです。

式が抜けていたのは、「名前を付けて保存」の際に図が作られないことがある、また、google ドキュメントの修正は遅延してHTMLに反映されると言うことが原因のようです。

本来は、上の例のように行列を含めて、chartがLatexをしっかりサポートしているようです。

このことは、式のソースを残していることなので、図と異なり編集が可能だと言うことを示唆します。

また、図にしない表示方法があるかも知れません。

「拡張機能」「アドオン」の「Auto-LaTeX Equations」は、$$LaTex構文$$ の記法で、google Docs にLaTexの式が記述できます。表示機能が、これを表示するか、LaTex解釈して表示するかが選択できるようになっています。

  1. <img alt="" src="https://lh3.googleusercontent.com/PjS4YhbRQyS_ysMsD9CqnCxCf6JOz7nonKwhJ3Br9AQuFWgExA3UI7AcExyDCUYz2368l6jpMEBsl1YeaNgTxnqMCLIzXsWvpMvwx5m9Fcr_WQCg_GME_UPkPyI1fC4QYIqKt2j9vdqgd5ddkXfVqYGI0WgVN4dxMHt5IzVmx5n3d5Lm8JxSSkDKVg" style="width: 40.00px; height: 38.67px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);" title="">

これは、アドオンの都合らしく、直ちにLaTexの式と見なせるものを含まないようです。

「Equation Editor ++」は、以下のようになります。alt属性がLaTexのようです。

  1. <img alt="\begin{bmatrix}a &amp; b \\c &amp; d \end{bmatrix}" src="https://lh3.googleusercontent.com/_TLE2sTjKtQmL0YqMGHk3pmUswcozN-kjHvhhZQEqukS6Nxv7RMzyaiLtoFVD-U9A_ccP14EahgTQMLN8olGW2N2uSxsuNt0D7_aPs-VCbra6McLOZOEJILc60LXBREhw2HDibBjTN4-bNEmMMo9_AoF2XgQJ_sWDBciPBpsdZW66fiePjuUcDvvwg" style="width: 45.33px; height: 44.00px; margin-left: 0.00px; margin-top: 0.00px; transform: rotate(0.00rad) translateZ(0px); -webkit-transform: rotate(0.00rad) translateZ(0px);" title="">

今のところ、選択肢は2通りのようです。

1つは、google Docs の標準の数式を使い、LaTexの式入力を諦める。

あるいは、google Docsで編集可能な記法を定めてTaTexを書き、LaTexを表示するJavaScriptのパッケージを使って表示する。

後者は、Google Docs の編集時には、LaTexのソースしか見えず、HTML化しないと数式が見えない。

1. 現時点での数式についての選択

2020/9/10時点で知ったことから「Equation Editor ++」を併用することを選択します。HTML化したとき、alt属性にLaTexのスクリプトが記録されているので、htmlファイルに残すことができます。

また、Google ドキュメントの図には「代替テキスト」を設定、編集できます。Equation Editor ++で挿入した式は、図となりますが「代替テキスト」で保存されています。「代替テキスト」を編集しても図は変わりません。しかし、Equation Editor ++でインポートして置き換えをすれば図が変わります。

Google ドキュメントを「ウェブに公開」して得られるhtmlファイルをダウンロードするプログラムで、alt属性を保存するようにします。また、本来の数式はalt属性が空なので、src属性に書かれたURL記述の中の数式をデコードしてalt属性で保存します。

これで、全ての式のLaTexスクリプトがHTMLファイルに記録されることになります。

今のところ Google ドキュメントの数式は、スクリプトで記述できませんが、Equation Editor ++でhtmlのalt属性の式を戻すことはできるようになります。

問題は、Equation Editor ++がサービスを止めると、Google ドキュメントで数式の編集ができなくなることだと思います。しかし、その場合も「代替テキスト」を見ることができるので何とかなりそうです。

Google ドキュメントでは、「挿入」「計算式」で入力した式は図ではありません。「Equation Editor ++」で作成した式は図として扱われます。したがって、後者だけが「代替テキスト」を持ちます。

計算式

Equation Editor ++

A({x}_{1},{y}_{1},{z}_{1})

\begin{pmatrix}x'\\y'\end{pmatrix}=
    \begin{pmatrix}\cos{ \gamma  } & -\sin{ \gamma  }\\
    \sin{ \gamma  } & \cos \gamma  \end{pmatrix}
    \begin{pmatrix}a&0\\0&b\end{pmatrix}
    \begin{pmatrix}x\\y \end{pmatrix}

「共有」「ウェブに公開」によってHTML化すると、いずれも図となって、<img>タグの表示になります。これをダウンロードする処理で両者のLaTexスクリプトが残るようにします。httpdのサーバに置いたhtmlファイルを開いて、両方ともalt属性にLaTexのスクリプトが残されることでテストとします。


題目一覧へmikeo_410@hotmail.com(updated: 2022/09/10)