Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SATySFi で卒論を書いた話
Search
pickoba
September 24, 2022
Technology
690
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SATySFi で卒論を書いた話
SATySFi Conf 2022 での発表スライドです。リポジトリはこちら
https://github.com/pickoba/satysfi-conf-2022
pickoba
September 24, 2022
Other Decks in Technology
See All in Technology
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
110
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
160
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
620
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
220
ASTを使って影響範囲を特定する
nealle
0
170
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
450
AIで仕事のやり方を変える
matsu7874
3
1.1k
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
270
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
650
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
150
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
180
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
510
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
4 Signs Your Business is Dying
shpigford
187
23k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
The SEO identity crisis: Don't let AI make you average
varn
0
550
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Deep Space Network (abreviated)
tonyrice
0
300
Transcript
SATYSFIで卒論を書いた話 SATYSFI Conf 2022 pickoba 2022.09.24
1/11 自己紹介 pickoba (修士 1 年) usagrada と卒論研究室同期 SATYSFI 歴
: そろそろ 1 年 公開している SATYSFI 関連のもの VS Code 拡張 SATYSFI Workshop 擬似コード組版ライブラリ SATYSFI Algorithm GitPod 向けテンプレート SATYSFI GitPod Template 今日のテーマ SATYSFI で卒論を書いた話
2/11 SATYSFIとの出会い SATYSFI に出会ったのは、去年の 10 月 9 月にあった卒論の中間報告で L ATEX
+ Beamer を使い苦しんだ 静的型付き言語は昔から好きだった もっと使いやすい組版言語はないのか ⇒ SATYSFI 第一印象は「括弧多いな、自然に書けるようになるのかな」 すぐに慣れ以後どっぷり浸かる
3/11 とりあえず使ってみる とりあえず研究室内の発表で SATYSFI + SLYDIFI を使ってみた 今使っているテーマは元々その時に作成したもの 執筆体験が良い L
ATEX のスライドと遜色ないものが作れる ADT とパターンマッチで木構造の絵が描けることに感動 ⇒ 卒論を SATYSFI で書きたい
4/11 卒論を SATYSFIで書くために 学科のルール的には問題なさそう PDF で出力できれば OK ページ数以外の規定なし 既存の環境(VS Code)は長文を書くにはつらそう
保存時にビルドを自動でしてほしい monaqa さんの Language Server を使いたい ⇒ SATYSFI Workshop の開発へ
5/11 SATYSFI Workshop の開発 wraikny さんが作成されていた既存の VS Code 拡張をベースに、以下の機能追加・改善を実施 12
月に SATYSFI Advent Calendar で公開 ビルド機能 ショートカットキーによるビルド・保存時のビルド 型チェック機能 保存時やタイプ時に satysfi コマンドを呼び出し出力をパースして表示 元からあったもののパフォーマンス等を改善 Language Server のサポート 単に受け口を作っただけ その他 lint や format の自動化、テスト追加なども(詳細は Qiita 記事参照)
6/11 卒論を SATYSFIで書く 卒論は実際に SATYSFI Workshop を使って執筆した 使用させていただいたライブラリ abenori/satysfi-class-jlreq ...
クラスファイル monaqa/satysfi-easytable ... 表組 monaqa/satysfi-enumitem ... 箇条書き monaqa/satysfi-figbox ... 画像挿入 namachan10777/BiByFi ... 文献管理 puripuri2100/satysfi-code-printer ... ソースコード挿入
7/11 SATYSFIで卒論を書いてよかったこと 静的型に守られているという安心感 変更の影響範囲が予測しやすい エラーメッセージがわかりやすい 「ちょっとした拡張」がやりやすい その文書限りのコマンドを作る精神的ハードルが低い Language Server が快適
(手元の環境・設定では) LuaL ATEX よりコンパイルが速い
8/11 ちょっとした拡張の例 figbox な画像にキャプションを付ける関数 let with-caption caption figbox = vconcat
?:align-center [ figbox; gap 10pt; textbox caption; ] のようなものを定義しておくと +fig-center( include-image 400pt `satysfi.jpg` |> with-caption {\SATySFi; のロゴ} ); のように使える Fig.1 SATYSFIのロゴ
9/11 SATYSFIで卒論を書いて大変だったこと 問題ライブラリの種類が少ない ⇒ その場その場でライブラリを作りつつ執筆 figbox に自動で番号付けされるキャプションを付けたい ⇒ 前述の方法を拡張して作成 擬似コードを書きたい
その時点では enumitem を利用して作成 let-block +While cond inner = '< +EnumitemAlias.item({\bold{while}\ #cond; \bold{do}})(inner); +EnumitemAlias.item({\bold{end while}})<> > 後に独立したライブラリとし、テーマの切り替えなど機能追加 ⇒ satysfi-algorithm
10/11 まとめ SATYSFI を使うと分かりやすいエラーメッセージと Language Server による支援を存分に受けられる ライブラリが少ないのは大変だが、 「困ったときは自分で作る」の精神があれば意外と乗り切れる (学部・学科の規定等があれば要確認)
卒論は SATYSFI で書ける!
11/11 SATYSFI関連の近況 SATYSFI Workshop は鋭意開発中 そろそろまたリリースします(型チェック機能周辺の改善) SATYSFI 0.1.0 の対応も SATYSFI
Algorithm も 0.1.0 対応させたい L ATEX の algorithmicx 向けのコードをテキストモードで吐けるようにしたい