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 で卒論を書いた話
Search
pickoba
September 24, 2022
Technology
0
640
SATySFi で卒論を書いた話
SATySFi Conf 2022 での発表スライドです。リポジトリはこちら
https://github.com/pickoba/satysfi-conf-2022
pickoba
September 24, 2022
Tweet
Share
Other Decks in Technology
See All in Technology
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
500
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
210
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Agile Leadership Summit Keynote 2026
m_seki
1
670
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
180
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
210
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
170
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
270
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Mind Mapping
helmedeiros
PRO
0
90
The browser strikes back
jonoalderson
0
420
The Curious Case for Waylosing
cassininazir
0
240
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Test your architecture with Archunit
thirion
1
2.2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
The Pragmatic Product Professional
lauravandoore
37
7.1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
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 向けのコードをテキストモードで吐けるようにしたい