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.5k
SATySFiを使用したMarkdownからLaTeXへのファイル変換について
Online.tex 2020で発表したスライドです
puripuri2100
November 21, 2020
Tweet
Share
More Decks by puripuri2100
See All by puripuri2100
絵文字は構文解析できるのか
puripuri2100
0
41
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
2.5k
気胸の胸部CTデータの可視化
puripuri2100
0
260
SATySFiで作成する構文解析器
puripuri2100
0
200
SATySFiの開発についての要望
puripuri2100
0
390
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
0
560
法律文書の自動解析
puripuri2100
1
740
汎用的なコードフォーマットライブラリの作成
puripuri2100
0
290
ユーザーがカスタマイズできるクラスファイル ―v0.0.x と v0.1.x それぞれでの実装 ―
puripuri2100
0
330
Other Decks in Technology
See All in Technology
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
250
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.2k
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
110
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
19
7.4k
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
530
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
Building Products in the LLM Era
ymatsuwitter
10
5.5k
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
32
6.4k
Building Applications with DynamoDB
mza
93
6.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Producing Creativity
orderedlist
PRO
344
39k
What's in a price? How to price your products and services
michaelherold
244
12k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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