マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

“TypstでTeXのロゴ”とか暮れのごあいさつとか

Typstで“TeXロゴ”したい話

以前に“TeXのロゴ”について記事を書きました。

この記事では、“TeXロゴ”の熱狂的なファンがTeX以外で正しい“TeXロゴ”を出力する方法について解説しています。具体的にはHTML+CSSおよびMicrosoft Wordを扱っています。

Wordで“TeXロゴ”する様子

今世間で話題になっている“TeX以外”といえば、やっぱりTypstですね。熱狂的なファンであれば、当然Typstでも“TeXロゴ”(および“LaTeXロゴ”)を使いたいところです。

※ちなみに、SATySFiにおいては標準ライブラリのpervasiveにおいて“TeXロゴ”と“LaTeXロゴ”を出力するための\TeX命令と\LaTeX命令が提供されています。

Typstで“TeXロゴ”してみた話

というわけで、つくってみました。

[texloog0.typ]
#let TeX = {
  [T]; "\u{2060}"
  box({h(-0.1667em); box(move(dy: 0.2153em)[E]); h(-0.125em)})
  "\u{2060}"; [X]
}
#let LaTeX = {
  [L]; "\u{2060}"
  box(style(styles => {
    let size = measure([T], styles)
    h(-0.36em)
    box(height: size.height, {text(size: 0.7em)[A]})
    h(-0.15em)
  }))
  "\u{2060}"; TeX
}

このtexloog0.typをライブラリとしてインポートします1

#import "texloog0.typ": *

これにより次の2つの値2が使えるようになります。

  • TeXTeXのロゴ(content値)。
  • LaTeXLaTeXのロゴ(content値)。

もちろんTypstのマークアップモードの中で使う場合には#TeX;のように書くことになります。以下で簡単なサンプルを示します。

#import "texlogo0.typ": *
#set text(font: "Harano Aji Mincho")

#TeX;言語は超絶アレ、#LaTeX;は微アレ。

☃は非アレ。

この文書をコンパイルすると以下の出力が得られます。

出力結果

無事にTypstで”TeXロゴ”できました(幸せ😊)

まとめ

今年も一年、ありがとうございました!

除夜のカントカ

ZR「というわけで、来年も当(くだらない)ブログをよろしくお願いします!」
*「アレレ、ネタ画像が完全に2年前の使い回しだ😲」
ZR「………………3


  1. 最後の*は「全てインポート」を表すもので、例えばこれをTeXに変えると#TeXだけがインポートされます。
  2. TeXLaTeXはcontentを返す関数ではなくcontent値そのものです。
  3. チョット変えたとしても誰の得にもならないので、ここは省力化することにしましょう🙃