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 Conf 2023「SATySFiを使って学類新歓冊子を発行した」
Search
Mutsuha Asada
October 22, 2023
Technology
0
27
SATySFi Conf 2023「SATySFiを使って学類新歓冊子を発行した」
https://connpass.com/event/295734/
Mutsuha Asada
October 22, 2023
Tweet
Share
More Decks by Mutsuha Asada
See All by Mutsuha Asada
🔨 小さなビルドシステムを作る
momeemt
4
750
情報科学類で学べる専門科目38選
momeemt
0
640
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
290
Wasmで拡張できる軽量マークアップ言語 Brack
momeemt
0
120
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
270
Intel系FPGA上へのRISC-Vプロセッサの実装
momeemt
0
150
情報科学若手の会 2024 LT「WebAssemblyで拡張可能な軽量マークアップ言語の開発」
momeemt
0
47
Nixでつくるdotfiles
momeemt
1
100
情報特別演習I 最終発表「理工学の紙書籍を用いた学習の効率を向上させるインタフェース」
momeemt
0
46
Other Decks in Technology
See All in Technology
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
240
HonoとJSXを使って管理画面をサクッと型安全に作ろう
diggymo
0
180
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
390
様々なファイルシステム
sat
PRO
0
240
スタートアップの現場で実践しているテストマネジメント #jasst_kyushu
makky_tyuyan
0
130
Copilot Studio ハンズオン - 生成オーケストレーションモード
tomoyasasakimskk
0
220
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
120
What's new in OpenShift 4.20
redhatlivestreaming
0
230
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
130
AWS UG Grantでグローバル20名に選出されてre:Inventに行く話と、マルチクラウドセキュリティの教科書を執筆した話 / The Story of Being Selected for the AWS UG Grant to Attending re:Invent, and Writing a Multi-Cloud Security Textbook
yuj1osm
1
130
まだ間に合う! 2025年のhono/ssg事情
watany
3
660
QA業務を変える(!?)AIを併用した不具合分析の実践
ma2ri
0
140
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
526
40k
Faster Mobile Websites
deanohume
310
31k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Designing Experiences People Love
moore
142
24k
A better future with KSS
kneath
239
18k
The Pragmatic Product Professional
lauravandoore
36
7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Balancing Empowerment & Direction
lara
5
700
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Unsuck your backbone
ammeep
671
58k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Transcript
SATySFiを使って 学類新歓冊子を発行した 筑波大学 情報科学類 浅田睦葉 (@momeemt) 1
2 学類新歓 ・12月〜2月にかけて学類新歓冊子を作成する ・〜2020年新歓まではDTPで作成 ・2021年〜2022年新歓はLaTeXで作成 ・2023年(今年)新歓はSATySFiを使ってみた ・純粋に気になっていた ・同期に有識者がいて、クラスファイルの作成をお手伝いしてもらえた
3 作ったもの ▲ 表紙絵 (機械学習を 好きな友人が生成+デザイン) ▲ 目次 ▲ 本文
4 原稿の回収 執筆協力者 (10人程度) Markdown を用いて執筆 GitHubで管理 push 新歓委員 (3名)
原稿を SATySFiに変換
5 執筆環境の提供 ・新歓委員やSATySFiで書きたい人に 執筆環境を提供 ・amutakes/satysfi-base-image を ベースに必要なパッケージ・パンフ用 クラスファイルをビルド ・当時はOCamlに触れたことがない人が 多かった(自分も)ので
Docker環境が あると共有しやすかった ・Devcontainerを使ったのでVSCodeを 入れれば誰でも執筆環境を用意できた
6 クラスファイル ・puripuri2100さんがパンフレット用の クラスファイルを実装してくれた ・章名や浮動図の実装、フォント追加など を実装してくれている(#1, #4, #9) ▲ 追加されたもの
7 二段組の実装 ・例年恒例の「筑波大学用語辞典」を実装す るために実装 ・大学でpuriさんに講義を受けつつ実装した ・`page-break-multicolumn`を使って 複数カラムを描画するドキュメントを作成
8 章ごとに分割 ・パンフレットには1段組のページも 2段組のページも章扉もある ・1つの文書内でdocumentを切り替える 方法が分からず、章ごとに別々にビルド して最後にpdfuniteで結合する形を取った → start-pageを調整ごとに書き換える ことに...
・satysfi-auxを使ってみる?という話も 出たが結局間に合わず
9 広がり ・生物学類の2023新歓パンフレットも SATySFiで作られている ・satysfi-class-coins-shinkan23- pamphlet を友人がForkしてカスタマイズ したらしい
10 様々な工夫 ・パンフレットの作成にあたって様々な 工夫を行っていた CI / 成果物のアップロード → `satysfi --type-check-only`を利用
して文書の品質を担保した → textlintを使ってPRコメントに指摘が 書き込まれるようにした → 成果物はReleaseに置かれるようにした → めっちゃ圧縮してDiscordにも送った ▲ 手元にビルドしなくてもチェック可能 ▲ 連絡用のDiscordに圧縮した成果物も来る
11 様々な工夫 すべてのTodoをGitHubで管理 → 担当教員をGitHub Organizationに 招待することでパンフに関する連絡は メールを使う必要がなかった ▲ Issueを立ててくれた
▲ 入稿できると嬉しい
12 感想 <SATySFiについて> ・前提として、触ったことない技術に触れられるのは楽しい ・文書を書きながら、足りない部分は自分で定義できて、かつそれが静的に検査される体験が 今までなかったのでモチベーションがかなり保てた ・が、パンフレットを作るのにSATySFi以外へかなり労力を割いていたので、SATySFi自体 への理解が進んだとは言えない。もう少し勉強してライブラリなども作ってみたい <執筆環境について> ・執筆状況がすべてGitHubに残るので引き継ぎが楽
→ 学生団体は人の入れ替わりが激しく引き継ぎの質が毎年保証できないので 余計にGitHubで管理されていると良い ・原稿はMarkdownかプレーンテキストで回収した方がいい → 結局レイアウトは委員が考えるのと、執筆ハードルは低い方がいいから
13 最近は ・個人的な話で恐縮ですが、最近は大学の レポート課題はだいたいSATySFiを 使っています ・satyxinでビルドすることが多い ・ポジティブな動機 → 普段Canvasなどで作るプレゼン資料 をSLyDIFi
のテーマを作成して使いたい → レポート用のクラスファイルを作りたい ・ネガティブな動機 → そもそも最初に触った組版言語が SATySFiなのでそれ以外の言語(LaTeX など)の環境構築とか辛さがあまり分からず 親だと思っている
14 まとめ ・情報科学類の新歓冊子作成にSATySFiを使った ・冊子用のクラスファイルを作った ・puripuri2100さんに大枠を作ってもらい、委員で二段組・ページ数管理などを追加 ・Docker・Devcontainerで執筆環境を提供した ・執筆協力者から原稿をMarkdownで受け取って委員で書き直した ・章ごとに分割してそれぞれビルドしてpdfuniteで結合した ・トンボづけはAdobe Acrobatで行った
・作成したクラスファイルは他学類の学生がForkし、そちらでも使われた ・パンフレット作成の全てはGitHubで管理した ・CI・自動ビルドなどを走らせて確認の手間を減らした ・短い時間で人が入れ替わり引き継ぎをする必要があるのでGitHubで管理するのは良い ・委員は協力者に対してできるだけ執筆ハードルを下げることが重要 ・パンフ作成以後もレポート作成などで使っている ・SATySFi自体の解像度はまだ全然粗いので今後も勉強して使っていきたい ・ご質問などがありましたら
[email protected]
までお願いします