タグ

ブックマーク / blog.wtsnjp.com (6)

  • 講演『expl3 入門』の補足 | ラング・ラグー

    もう2週間ほど前のことになりますが,10月14日(土)に開催された TeXConf 2017 に参加してきました.私は一般講演枠を1つ頂いていて『expl3 入門』というタイトルで,その名の通り expl3 という言語のチュートリアル講演を行いました.その際の発表資料がこちらです. そもそも一般講演を申し込んだ理由が「講演という “締め切り” を設定することで,自分が expl3 の勉強をしたいから」というところにあったこともあり(発表駆動),かなり直前になってドタバタと突貫で準備を行ったわけですが,幸いにもご好評を頂くことができました. そして発表後の質疑応答では6つほどの質問を頂戴しました.しかし,時間の関係と私の知識不足により,その場では最低限度の回答しかできなかったものもありました.そこで,稿では頂いた質問に再度答える Q&A の形をとって,少し詳細な補足をしてみようと思います.

    講演『expl3 入門』の補足 | ラング・ラグー
    Nyoho
    Nyoho 2021/06/18
  • TeX 言語者のための expl3 入門 | ラング・ラグー

    ここで,いくつか具体的な変数の例を挙げてみます. \l_scfoo_number_of_buttons_int \c_pi_fp 1つ目の例 \l_scfoo_number_of_buttons_int は模範的な expl3 の変数で l が〈スコープ〉 scfoo が〈モジュール名〉 number_of_buttons が〈説明〉 int が〈型〉 です.変数を見るだけで「scfoo モジュールに属し『ボタンの数』を表すローカルで int 型の変数」ということがわかります. ところで,expl3 カーネルが標準で提供している定数やユーザ用一時変数では,一部モジュール名を含まないものもあります.2つ目に挙げた \c_pi_fp がそれで,$\pi$ の値を格納している fp 型の定数です.こうした定数・変数は,特にパッケージなどを作成する場合には自分では定義しない方がよいでしょう. 関数

    TeX 言語者のための expl3 入門 | ラング・ラグー
    Nyoho
    Nyoho 2021/06/18
    「expl3 は TeX 言語がもつ問題点を軽減し,より高い可読性と安全性をもつように設計されています」
  • TeX tuneup 2021: 7年ぶりの TeX アップデート | ラング・ラグー

    昨日 TeX Live 2021 がリリースされました.このリリースには例年通りさまざまな TeX 関連プロダクトの新しいバージョンが含まれていますが,今年は実に7年ぶりに Knuth によるオリジナルの TeX 処理系もバージョンアップしました.もちろん TeX は既に開発終了が宣言されており,今回も大きな変更が入ることはありませんでしたが,いくつかのマイナーなバグ修正が行われました.実用的な TeX ユーザにはほとんど影響のないところではありますが,TeX 言語者としてはその更新内容はとても興味深いものであるので,稿ではその修正内容について語ってみようと思います. 背景 Knuth によって開発されたオリジナルの TeX 処理系 (Knuthian TeX) は,バージョン3になった時点で既にその開発が概ね終了したと宣言されており,以降は原則としてバグ修正以外は行われないことになって

    TeX tuneup 2021: 7年ぶりの TeX アップデート | ラング・ラグー
    Nyoho
    Nyoho 2021/04/04
  • MacTeX をおすすめできる場合とそうでない場合(私見) | ラング・ラグー

    はじめに タイトルにわざとらしくカッコ書きしたように,稿で述べる内容はすべて筆者の「個人的見解」です.何らかの組織や集団の見解を代表もしくは代弁するものではありません. 稿の主な想定読者は,これから macOSTeX Live を導入しようとしている人です.残念ながら,既に MacTeX を導入してしまっている人が稿を読んでも特に何かが解決することはありません. さて macOS に対して TeX Live を導入する方法としては MacTeX というものが有名かつ一般的です.TeX Live として公式に,macOS においては MacTeX の利用が推奨されています1.しかし,結論から言えば MacTeX は万人に対しておすすめできるものではありません.特に,パワーユーザ(上級者,パソコンに詳しい人)であればあるほど,MacTeX のインストールはおすすめできません.ここで

    MacTeX をおすすめできる場合とそうでない場合(私見) | ラング・ラグー
    Nyoho
    Nyoho 2020/07/08
    「MacTeX は GhostScript バイナリ等をシステムのディレクトリにばら撒く」ああなるほどそれは確かにデメリットだなあ。
  • TeX 言語でも Zipf の法則は成り立つか? | ラング・ラグー

    堂々の第一位はマクロ定義を行う \def でした.TeX 言語は(究極的には)あらゆるモノをマクロ定義で表現する言語なので,この結果は当然と言えると思います.\if よりも \fi が多いのは,TeX 言語を書かない人にとっては非直感的かもしれませんが,TeX 言語において条件分岐に関わる命令は \if, \ifx, \ifnum 等々多数ある一方で,そのすべてが \fi で閉じられるのでこのような結果になります.皆さんの大好きな \expandafter は第3位にランクインしていますね.なお,完全な順位表を以下の URL で公開しています. https://gist.github.com/wtsnjp/ceb2fba6f2eb5bdd82141a779ae0f8a2 (2019-04-04 編集:リンク先を Gist に変更) その他の解析 latex.ltx についてのみ解析を行って

    TeX 言語でも Zipf の法則は成り立つか? | ラング・ラグー
    Nyoho
    Nyoho 2017/09/05
    matplotlibでlatex.ltxの解析結果(頻度分布)を図解する
  • TeX by Topic ゼミ (2) カテゴリーコードの研究 | ラング・ラグー

    \catcodeプリミティブを用いると,TeX 言語からカテゴリーコードにアクセスすることができます.すなわち\catcode<number>全体を1つのカウンタレジスタのように操作することができ1,これを介してカテゴリーコードの取得や変更(代入)を行います. ここで<number>はカテゴリーコードにアクセスしたい文字の文字コードに対応する数値表現です2.<number>の書き方はいくつかありますが,\catcodeと共に使う場合には`<char>または`\<char>を用いて指定すると便利なことが多いでしょう.例えば,通常カテゴリーコードが12の文字@のカテゴリーコードを11に変更するには次のようにします. \the\catcode`@ %=>12 \catcode`@=11 \the\catcode`@ %=>11 ただし\catcode<number>に0から15の範囲にない数値を

    TeX by Topic ゼミ (2) カテゴリーコードの研究 | ラング・ラグー
    Nyoho
    Nyoho 2017/03/31
    category code というのか。
  • 1