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.4k
SATySFiを使用したMarkdownからLaTeXへのファイル変換について
Online.tex 2020で発表したスライドです
puripuri2100
November 21, 2020
Tweet
Share
More Decks by puripuri2100
See All by puripuri2100
絵文字は構文解析できるのか
puripuri2100
0
35
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
2.3k
気胸の胸部CTデータの可視化
puripuri2100
0
260
SATySFiで作成する構文解析器
puripuri2100
0
200
SATySFiの開発についての要望
puripuri2100
0
390
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
0
550
法律文書の自動解析
puripuri2100
1
690
汎用的なコードフォーマットライブラリの作成
puripuri2100
0
290
ユーザーがカスタマイズできるクラスファイル ―v0.0.x と v0.1.x それぞれでの実装 ―
puripuri2100
0
320
Other Decks in Technology
See All in Technology
生成AI × 旅行 LLMを活用した旅行プラン生成・チャットボット
kominet_ava
0
160
2025年に挑戦したいこと
molmolken
0
160
Cloudflareで実現する AIエージェント ワークフロー基盤
kmd09
0
290
DMMブックスへのTipKit導入
ttyi2
1
110
メンバーがオーナーシップを発揮しやすいチームづくり
ham0215
2
130
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
360
I could be Wrong!! - Learning from Agile Experts
kawaguti
PRO
8
3.4k
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
2.1k
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
540
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.4k
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
490
Featured
See All Featured
Done Done
chrislema
182
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Facilitating Awesome Meetings
lara
51
6.2k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
How STYLIGHT went responsive
nonsquared
96
5.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Six Lessons from altMBA
skipperchong
27
3.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Building Your Own Lightsaber
phodgson
104
6.2k
Code Review Best Practice
trishagee
65
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
500
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