の続き。 続きを読む
投稿者「mod_poppo」のアーカイブ
TeXっぽいものを実装するにあたっての雑記
LaTeX数式 to MathML を考える
モチベーション
Web で数式を表示するための仕様として、 MathML というものがある。ただ、 MathML はブラウザーの対応がイマイチなので、もっぱら MathJax や KaTeX などの JavaScript で書かれた代替手段を使うことが多いだろう。しかし、 EPUB の場合は標準的な数式記述方法は MathML なので、 LaTeX 数式を MathML に変換する必要がある。
そこで、「LaTeXで記述された数式をMathMLに変換する」ことを考える。
(尤も、 Kindle は MathML に対応していなかったり、EPUBリーダーで多く採用されていると思われる WebKit 系のレンダリングエンジンでどれほどの見た目になるのかという問題がある。しかし、それらの問題はおいておく。)
この記事では LaTeX で書かれた単体の数式を対象とし、 LaTeX 文書をまるごと HTML+MathML に変換することはここでは扱わない。また、可換図式など、 MathML が扱っていなさそうな対象は扱わない。 続きを読む
LaTeX での「割り切る」記号
数学では「a が b を割り切る」(a が b の約数である・ b が a の倍数である・整除関係)という場合に縦棒を使って a | b と書く。これを LaTeX で書くときにどうしたら良いか。 続きを読む
wxWidgets をビルドする 2018年新春編
去る2月に、wxWidgets の開発版である 3.1.1 がリリースされた。前回の開発版である wxWidgets 3.1.0 のリリースからは2年ぐらい経っている。
2016年に wxWidgets をビルドする という記事を書いたが、2年も経つとビルドシステムにも色々と変化が生じている。この記事では、3.1.1リリース直後の現在(2018年3月)における、 wxWidgets の最新の開発版(3.1.1 または Git の master ブランチ)のビルド方法をまとめてみる。
(筆者が記事を書くのにもたついている間に、最新の安定版である 3.0.4 もリリースされたが、この記事はもっぱら最新の開発版を対象とする。) 続きを読む
「週刊 代数的実数を作る」を終えて
すでに数週間経っているが、去年の10月に始めた「週刊 代数的実数を作る」を、一通り書き終えた。 続きを読む
PureScript から TypeScript 用型定義 (.d.ts) を生成するツールを作った
前置き
TypeScript で作っていたプロジェクトに、後付けで PureScript を追加しようとしたらかなり辛かった。
(わざわざ言語を混在させたい理由としては、型クラスや演算子オーバーロードを使いたい&既存のコードを全部書き直す暇はない、が挙げられる)
辛い理由としてはそもそもモジュールとバンドラーの周辺がまだ成熟していないというのもあるだろうが、 TypeScript 固有の理由として、 TypeScript コードから PureScript モジュールを読み込むための型定義が足りないという問題がある。
Stack Overflow を見ると、同じことで悩んでいる人がいた:
しかし、どの解決策もイマイチである。
コンパイル済みの PureScript を使うだけなら --allowJs
オプションという手もあるだろうが、せっかく型がある言語で書いたのだから、適切な型チェックがされて欲しい。PureScript のコンパイル時に TypeScript 用の型定義ファイル .d.ts
を出力させるようにはできないのか?
PureScript の GitHub Issues にも「.d.ts を生成させたい!」というトピックがあるが、特に動きがあるようには見えない。
コンパイラーにそういう機能がないならば、自分で作ってしまおう!ということで、作った。
Haskell でのデバッグ手法あれこれ
プログラムにバグはつきものです。強力な型システムを備えている Haskell でもそれは同じです。この記事では、 Haskell プログラムのデバッグ手法をいくつか挙げてみます。
なお、使用している GHC は 8.2.2 です。より新しいバージョンで追加されるであろうより便利な機能は、この記事の対象外です。
PureScript 雑感
PureScript は、 Haskell ライクな altJS である。「Haskell ライク」という評判に劣らず、 Haskell の最も重要な特徴である型クラスをきちんと受け継いでいる。
現在のバージョンは 0.11.7 である。したがってまだ安定しているとは言えない。バージョン 1.0 まで解決されるべき Issues はこれだけある。 続きを読む
OpenGL の投影行列
OpenGL での 3DCG で使われる投影行列について、自分用にメモっておく。
情報源:
- https://www.khronos.org/opengl/
- https://www.khronos.org/registry/OpenGL/index_gl.php
- OpenGL Core Profile, Compatibility Profile, GLU など
- OpenGL 2.1 Reference Pages
- https://www.khronos.org/registry/OpenGL/index_gl.php
- GLM (OpenGL Mathematics)