ããã«ã¡ã¯ãKMC 46thã®marimoã§ãã ããã¯KMC Advent Calendar 2024 1æ¥ç®ã®è¨äºã§ãã
KMCã¯ã³ãã±ã«åããã¦é¨èªãå¹´ã«äºåå·ã£ã¦ãã¾ãã C103ã¾ã§ã¯LaTeXã使ã£ã¦ãã¾ãã1ãã å¹´æ«ã®C105ã§é å¸ããäºå®ã®é¨èªãTypstã§çµãã ã®ã§ããã®è©±ããã¾ã2ã
Typstãç´¹ä»ããè¨äºã¯ãã§ã«å¤ãããã®ã§ãTypstèªä½ããã®åºæ¬çãªæ©è½ã®ç´¹ä»ã¯ãã¡ãã«è²ããã¨ã¨ãã¦ã å®éã«å°å·ç©ãä½ãä¸ã§å¿ è¦ã ã£ããã¨ãæ¸ããã¨ã«ãã¾ãã
ãã®è¨äºã¯Typst v0.12.0ãåæã¨ãã¦ãã¾ãã
ãã¡ã¤ã«ã®åå²
é·ãææ¸ã¯è¤æ°ã®ãã¡ã¤ã«ã«åå²ããããªãã¾ãã ãã®ããã®æ©è½ã¨ãã¦includeã¨importãããã¾ãã æ©è½ã¨ãã¦ã¯æ¸ãã¦ããéãã§includeã¯ãã¡ã¤ã«ãææ¸ã¨ãã¦èªã¿è¾¼ã¿ã importã¯ãã¡ã¤ã«ãããã°ã©ã ã¨ãã¦(moduleã¨ãã¦)èªã¿è¾¼ã¿ã¾ãã
#include "foo.typ"
ã ã¨foo.typãè©ä¾¡ããçµæ(Contentsåã®å¤)ãå ¥ãã¾ãã ã¤ã¾ããLaTeXã®includeãªã©ã®ããã«ããã¹ãããã®ã¾ã¾å±éãããã®ã§ã¯ãªãã®ã§ãä¸ã§æ¸ããè¨å®ãå¤ã«æ¼ãããã¯ãã¾ãã(ãããã)ã
ç®æ¬¡ãqueryã®æ´»ç¨
Typstæ¨æºã§outlineã¨ãã颿°ãããã¾ãããåã£ããã¨ãããã«ã¯æ©è½ãè¶³ãã¾ããã é¨èªã¯å¯ç¨¿èªã®å½¢æ ãã¨ã£ã¦ããã®ã§ãç®æ¬¡ã«ã¯é¡ã ãã§ãªãèè ãè¼ãããã§ãã ä»åã¯headingã®å¾ã«metadataãããã¦ãqueryã§æ å ±ãã¨ã£ã¦ããã¨ããæ¦ç¥ã§ããã¾ãã
= chapter1 #metadata([alice]) <author> = chapter2 #metadata([bob]) <author>
ãã®ãããªææ¸ããã£ãã¨ãã«
#let toc() = { let elements = query(heading.where(level: 1, outlined: true)) for el in elements { let metadatas = query(selector(<author>).after(el.location())) let author = metadatas.first().value } <ç¥> }
ãªã©ã¨ãã¦chapter(level-1ã®heading)ã®ãªã¹ãã¨ããã®authorãå¾ããã¨ãã§ãã¾ãã å®éã«ã¯ã³ã¼ãã¼ã±ã¼ã¹ã«å¯¾å¿ããå¿ è¦ãããã¾ãã
Typstã¯LaTeXãªã©ã¨åæ§ãææ¸ãåãªãè¦ç´ åã¨ãã¦åãæ±ãã¾ãã ãããã£ã¦è¦ç´ ã«ä»éããæ å ±ãå¾ãããã«ã¯åã®ä½ç½®ã«ä¾åãã¦é å¼µãå¿ è¦ãããã¾ãã LaTeXã¯auxã«æ¸ãåºãã¦åæããã¾ã§ç¹°ãè¿ãã³ã³ãã¤ã«ããå¿ è¦ãããã¾ãããã Typstã¯å¤é¨ãã¡ã¤ã«ã使ããã«queryã§ã¨ã£ã¦ãããããåæã«åæããã¾ã§ã³ã³ãã¤ã«ãã¦ãããããããããã³ã³ãã¤ã«ãéãã¨ãã£ããããããããã¾ãã
åã£ããã¼ã¸ãã¶ã¤ã³
ç¸ä»ãããã¨ãèæ¯ä»ããããããã¨ããããã¾ããpage颿°ã®background,foregroundã使ãã¾ãããã
#set page(background: image("hogehoge.jpg"))
ãã©ã³ã
ããã¯ããããç¥ããã¦ãã¾ãããv0.12.0ç¾å¨ãåæã¨æ¬§æã®ãã©ã³ããå¥ã«è¨å®ããã®ã«å°é£ãããã¾ãã æ£è¦è¡¨ç¾ãã¤ããã¨ç¦åå¦çãå£ãããªã©ã®åé¡ãããã¾ãã
#show regex("[\p{scx:Han}\p{scx:Hira}\p{scx:Kana}]"): set text(font: "Hoge Font")
ãã©ã³ãã®ãã©ã¼ã«ããã¯ã使ã£ãã»ããããã§ãã
#set text(font: ("Latin Font","Japanese Font"))
段çµã¿ã®æ³¨æ
Typstã¯page(column: 2)ã¨ããã°2段çµãã§ãã¾ãã ãã¨ã¯ãv0.12.0ã«ãªã£ã¦æ®µæãã®æµ®åå³ãç½®ããã¨ãã§ããããã«ãªãã¾ããã ãããv0.12.0ç¾å¨ãæå¾ã®ãã¼ã¸ã§ãã©ã³ã¹ãããã¨ã¯ã§ãã¾ãã(#466)ã
ãããã«
京大ãã¤ã³ã³ã¯ã©ã(KMC)ã¯ãC105ã®2æ¥ç®(æææ¥)西-08aã§åå ãã¾ãã å¹´2åçºè¡ã®é¨èªã«å ãã¦ãä»åã¯KMCã管çããAS59128ã®æ¬ãåºãäºå®ã§ãã ã³ãã±ã«åå ããæ¹ã¯ãã²ãé¡ããã¾ãã
ãããã«åèã«ããããã¥ã¡ã³ããç´¹ä»ãã¾ãã Typstå ¬å¼ã®ããã¥ã¡ã³ãã¯ä»ã©ãããã綺éºã«ã¾ã¨ã¾ã£ã¦ãã¾ãã ã¾ããæè¡æ¸å±17ã§é å¸ãããTypstã§æè¡å人èªãæ¸ããï¼ããã«å½¹ç«ã¤20ã®ãããã¯ã大ãã«åèã«ãªãã¾ãã3ã ãã³ãã¬ã¼ãã®ä¾ã¨ãã¦ã¯å ¬å¼ã®templatesãè¦ãã¨è¯ãã§ãã Typstã¯éçºãæ´»çºã§ãã®è¾ºã®ã³ã¼ãã¯ä½¿ãç©ã«ãªããªããã¨ãããã®ã§(ãã®è¨äºå«ã)ãåºæ¬çã«ã¯å ¬å¼ã®ãã®ãè¦ããã¨ã«ãªãã¾ãã
Footnotes
1 https://github.com/kmc-jp/bushi-template2
2 ã¡ãªã¿ã«C104ã§ãç§ãçµçãæ å½ãã¦ããã®ã¨ãã¯SATySFiã使ãã¾ããã
3 ãã¾ãã¾ãã³ãã«ãã¼ã ãä¸è´ãã¦ãã¾ããå¥äººã§ãã