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
3分でわかる!新機能 AWS Transform custom
sato4mi
1
260
【Oracle Cloud ウェビナー】[Oracle AI Database + Azure] AI-Ready データ戦略の最短ルート:Azure AIでビジネス データの価値を最大化
oracle4engineer
PRO
2
140
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
270
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
72k
Oracle Cloud Infrastructure:2026年1月度サービス・アップデート
oracle4engineer
PRO
0
190
re:Inventで見つけた「運用を捨てる」技術。
ezaki
1
150
月間数億レコードのアクセスログ基盤を無停止・低コストでAWS移行せよ!アプリケーションエンジニアのSREチャレンジ💪
miyamu
0
110
VRTと真面目に向き合う
hiragram
1
500
ゼロから始めたFindy初のモバイルアプリ開発
grandbig
2
450
Exadata Database Service ソフトウェアのアップデートとアップグレードの概要
oracle4engineer
PRO
1
1.2k
MySQLのJSON機能の活用術
ikomachi226
0
110
新規事業における「一部だけどコア」な AI精度改善の優先順位づけ
zerebom
0
410
Featured
See All Featured
Designing Experiences People Love
moore
144
24k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
160
Building an army of robots
kneath
306
46k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
Balancing Empowerment & Direction
lara
5
860
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Technical Leadership for Architectural Decision Making
baasie
1
220
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 向けのコードをテキストモードで吐けるようにしたい