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
26
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
3
670
情報科学類で学べる専門科目38選
momeemt
0
580
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
250
Wasmで拡張できる軽量マークアップ言語 Brack
momeemt
0
110
❄️ NixOS/nixpkgsにSATySFiサポートを実装する
momeemt
2
250
Intel系FPGA上へのRISC-Vプロセッサの実装
momeemt
0
150
情報科学若手の会 2024 LT「WebAssemblyで拡張可能な軽量マークアップ言語の開発」
momeemt
0
47
Nixでつくるdotfiles
momeemt
1
61
情報特別演習I 最終発表「理工学の紙書籍を用いた学習の効率を向上させるインタフェース」
momeemt
0
40
Other Decks in Technology
See All in Technology
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
120
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
330
AWSで推進するデータマネジメント
kawanago
1
1.2k
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
AI開発ツールCreateがAnythingになったよ
tendasato
0
110
Obsidian応用活用術
onikun94
1
430
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
1
230
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
190
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
0
230
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
1
170
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
370
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
74
5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Six Lessons from altMBA
skipperchong
28
4k
Writing Fast Ruby
sferik
628
62k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Faster Mobile Websites
deanohume
309
31k
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]
までお願いします