Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SATySFiを使用したMarkdownからLaTeXへのファイル変換について
Search
puripuri2100
November 21, 2020
Technology
0
1.6k
SATySFiを使用したMarkdownからLaTeXへのファイル変換について
Online.tex 2020で発表したスライドです
puripuri2100
November 21, 2020
Tweet
Share
More Decks by puripuri2100
See All by puripuri2100
法律文書の自動解析2024
puripuri2100
0
60
絵文字は構文解析できるのか
puripuri2100
0
91
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
3.1k
気胸の胸部CTデータの可視化
puripuri2100
0
300
SATySFiで作成する構文解析器
puripuri2100
0
270
SATySFiの開発についての要望
puripuri2100
0
440
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
0
630
法律文書の自動解析
puripuri2100
1
930
汎用的なコードフォーマットライブラリの作成
puripuri2100
0
330
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2025年12月度サービス・アップデート
oracle4engineer
PRO
0
230
純粋なイミュータブルモデルを設計してからイベントソーシングと組み合わせるDeciderの実践方法の紹介 /Introducing Decider Pattern with Event Sourcing
tomohisa
1
870
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
190
ファインディにおけるフロントエンド技術選定の歴史
puku0x
1
900
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
110
Everything As Code
yosuke_ai
0
500
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.6k
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
760
Digitization部 紹介資料
sansan33
PRO
1
6.4k
コールドスタンバイ構成でCDは可能か
hiramax
0
130
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.8k
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
110
The Curse of the Amulet
leimatthew05
0
6.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
110
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
230
The untapped power of vector embeddings
frankvandijk
1
1.5k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Bash Introduction
62gerente
615
210k
A better future with KSS
kneath
240
18k
Agile that works and the tools we love
rasmusluckow
331
21k
Amusing Abliteration
ianozsvald
0
84
Faster Mobile Websites
deanohume
310
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Transcript
SAT YSFIを使用した Markdown から L A TEX へのファイ ル変換について Online.tex
2020 金子尚樹 2020/11/21
自己紹介 所属 開成学園開成高等学校 学年 高校二年 普段やってること SAT YSFIのパッケージ作成 twitter @puripuri2100
e-mail
[email protected]
1
今日話すこと • SAT YSFIの簡単な紹介 • 今回、何をしたのか・動機 • 実装方法 • 使用について
• 今後について 2
SAT YSFIとは エラーがわかりやすく使いやすい組版言語(を目指している)新 しいマークアップ言語とその処理系 3
SAT YSFIとは エラーがわかりやすく使いやすい組版言語(を目指している)新 しいマークアップ言語とその処理系 • 欧文組版に必要なハイフネーション • 日本語組版にも対応 • フォントを簡単に変更可能
• 数式組版可能 • グラフィック処理がある程度できる • 表現力の高いプログラミング層 • エラーがわかりやすい(体感) 3
SAT YSFIとは エラーがわかりやすく使いやすい組版言語(を目指している)新 しいマークアップ言語とその処理系 • 欧文組版に必要なハイフネーション • 日本語組版にも対応 • フォントを簡単に変更可能
• 数式組版可能 • グラフィック処理がある程度できる • 表現力の高いプログラミング層 • エラーがわかりやすい(体感) • 専用の構文を書いた saty ファイルだけでなく、Markdown ファイルを処理することもできる 3
SAT YSFIとは エラーがわかりやすく使いやすい組版言語(を目指している)新 しいマークアップ言語とその処理系 • 欧文組版に必要なハイフネーション • 日本語組版にも対応 • フォントを簡単に変更可能
• 数式組版可能 • グラフィック処理がある程度できる • 表現力の高いプログラミング層 • エラーがわかりやすい(体感) • 専用の構文を書いた saty ファイルだけでなく、Markdown ファイルを処理することもできる • PDF だけではなくテキストファイルを出力することもできる 3
今回したこと Markdwon ファイルを与えたらそれに対応する L A TEX ファイルを出 力する SAT YSFIのライブラリを作りました
https://github.com/puripuri2100/SATySFi-md2latex にあります 4
作った動機 既にテキストモードを使って saty ファイルから L A TEX ファイルを生 成するライブラリを作っていたので、Markdown 入力と悪魔合体
させてみたかったから 5
何が嬉しいのか • Markdwon ファイルの中身を評価して型検査器から通常の SAT YSFIの処理に合流するので、ある程度安全性とエラーのわ かりやすさが担保されている • SAT YSFIのわかりやすい(個人の感想です)文法でパッケージ
を書くことさえできれば、同じ Markdwon ファイルからどの ようなファイル形式でも出力することができる • 将来多種多様な形式のファイルを受け付けられるようになっ た時に資産を生かせる 6
何が嬉しいのか • Markdwon ファイルの中身を評価して型検査器から通常の SAT YSFIの処理に合流するので、ある程度安全性とエラーのわ かりやすさが担保されている • SAT YSFIのわかりやすい(個人の感想です)文法でパッケージ
を書くことさえできれば、同じ Markdwon ファイルからどの ようなファイル形式でも出力することができる • 将来多種多様な形式のファイルを受け付けられるようになっ た時に資産を生かせる • SAT YSFIの文字列操作プリミティブを用いてある程度安全に黒 魔術を使うことができる 6
実装方法 md ファイルのタグに対応する SAT YSFIコマンドを記録した md2latex.satysfi-mdというファイルと、実際に出力する L A TEX ファ
イルを作るためのクラスファイルである md2latex.satyh-latexファ イルを作成しました。 7
実装方法 md ファイルのタグに対応する SAT YSFIコマンドを記録した md2latex.satysfi-mdというファイルと、実際に出力する L A TEX ファ
イルを作るためのクラスファイルである md2latex.satyh-latexファ イルを作成しました。 code 系やリンク参照系は既存の code.satyh-latexや url.satyh-latexに投げ、他のものは頑張ってクラスファイル内で 実装しました 7
起動方法 commonmark に則って書いて satysfi --markdown "md2latex/md2latex" --text-mode "tex,latex" < file
name>.md -o <file name>.tex するだけ! 8
デモ 9
今後について • スライド用クラスファイルを作ってみたい • 現状対応できている markdown 記法が pandoc 等と比べて少 ない点を改善できるなら改善したい
10