$30 off During Our Annual Pro Sale. View Details »
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
32
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
Reproducible Containers (ASPLOS'20)
momeemt
0
26
❄️ NixCon2025に参加した
momeemt
0
11
🔨 小さなビルドシステムを作る
momeemt
4
790
情報科学類で学べる専門科目38選
momeemt
0
660
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
330
Wasmで拡張できる軽量マークアップ言語 Brack
momeemt
0
140
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
290
Intel系FPGA上へのRISC-Vプロセッサの実装
momeemt
0
150
情報科学若手の会 2024 LT「WebAssemblyで拡張可能な軽量マークアップ言語の開発」
momeemt
0
50
Other Decks in Technology
See All in Technology
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
生成AI活用の型ハンズオン〜顧客課題起点で設計する7つのステップ
yushin_n
0
150
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
170
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
490
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
1.1k
MLflowで始めるプロンプト管理、評価、最適化
databricksjapan
1
210
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
140
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/09 - 2025/11
oracle4engineer
PRO
0
120
IAMユーザーゼロの運用は果たして可能なのか
yama3133
1
150
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
360
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
190
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Bash Introduction
62gerente
615
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Code Review Best Practice
trishagee
74
19k
Site-Speed That Sticks
csswizardry
13
1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Typedesign – Prime Four
hannesfritz
42
2.9k
Six Lessons from altMBA
skipperchong
29
4.1k
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]
までお願いします