ソフトウェア」カテゴリーアーカイブ

最強の数学文書システムを作りたい

数学の文書を書いてWebで公開したい時にはどうするのが良いでしょうか。私がこれまでにやってきたのは、

です。

しかし、PDFという形式はあまりWebには適しません。一方、Markdownでは数学の文書を書くうえで足りないものが多すぎます(定理環境や相互参照など)。

LaTeXは数学の文書を書くための語彙が豊富なので、LaTeXで原稿を書いて何らかの方法でHTMLに変換できると良さそうです。そのためのシステムを作りたいです。

続きを読む

コピーしたファイル群のハッシュ値を比較する

ファイル群をコピーした際に、正常にコピーされたか確かめたいことがある。そういう場合に使えるコマンドをメモしておく。

まず、find コマンドで再帰的に shasum を実行する。結果はファイルに保存しつつ、標準出力にも出す(進行状況をわかりやすくするため)。

$ find . -exec shasum -a 256 '{}' \; | tee file-list.txt

コピー元とコピー先で同様のコマンドを実行し、それぞれハッシュ値一覧のファイルを作る。

find の列挙順はよくわからない(Macの find コマンドは -s で辞書順にソートできるようだ)。コピー元とコピー先で列挙の順番が違うかもしれないので、sort したい。shasum の出力は先にハッシュ値が来て、後にファイル名が来る。sort コマンドに -k オプションを使うと、ファイル名の部分でソートできる。

$ sort -k2 < file-list-src.txt > file-list-src-sorted.txt
$ sort -k2 < file-list-dst.txt > file-list-dst-sorted.txt

あとは diff で比較する。

$ diff file-list-src-sorted.txt file-list-dst-sorted.txt

シェルによっては、ソートと diff をワンライナーで

$ diff <(sort -k2 file-list-src.txt) <(sort -k2 file-list-dst.txt)

と書けるかもしれない(bashとzshではできそう)。

diff で比較する以外に、shasum -c でチェックする方法もあるかもしれない。その辺は好みで。

TeX Live 2018でWindows上のTeXworksが日本語を含むファイル名を扱えない話

タイトルの件である。(実際にはTeXworksは問題の核心に1ミリも関係しないので、TeXworksを使っていないあなたもこの記事を読み物として楽しむことができる。さあ読もう)

この記事を書いている6月現在、TeX Live Managerで最新版にアップデートすれば問題は解決するはずである。

この記事では、筆者がどのようにこの問題の原因を突き止めたか、順に書き連ねていく。なお、問題の発覚と原因究明は5月初めに行ったが、TeX Liveのアップデートで対策されるようになるのを待った結果記事の公開が6月になった(筆者がよくブログ記事を下書きのままほったらかしているのとは関係ない)続きを読む

macOS向けのwxMaximaを自分でビルドする

wxMaxima とは、数式処理システム Maxima をGUIで使えるようにしたソフト(フロントエンド)である。Windows, macOS, Linux の各プラットフォームに対応する。Maxima のGUIフロントエンドの中では最もポピュラーかと思われる。

しかし、macOS 向けにリリースされているバイナリのバージョンは 15.04.0 (記事執筆時点)と、少々古い。そこで、最新版 (16.04.2) を自分でビルドしてみよう。

この記事は、ターミナルの操作に慣れていてソフトウエアのビルドもできる人向けとなる。wxMaxima や wxWidgets 特有の事情については記事の中でなるべく説明しているので知らなくても問題ない。

続きを読む