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
28
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
1.9k
気胸の胸部CTデータの可視化
puripuri2100
0
230
SATySFiで作成する構文解析器
puripuri2100
0
190
SATySFiの開発についての要望
puripuri2100
0
370
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
0
520
法律文書の自動解析
puripuri2100
1
620
汎用的なコードフォーマットライブラリの作成
puripuri2100
0
280
ユーザーがカスタマイズできるクラスファイル ―v0.0.x と v0.1.x それぞれでの実装 ―
puripuri2100
0
310
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
1.6k
SSMRunbook作成の勘所_20241120
koichiotomo
1
100
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
1
1.6k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
フルカイテン株式会社 採用資料
fullkaiten
0
40k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
460
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
110
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
110
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
220
Featured
See All Featured
Designing for Performance
lara
604
68k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
A better future with KSS
kneath
238
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Visualization
eitanlees
145
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
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