【要約】【Quarto】で脱Officeを試みた話 [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者は、技術レポートや発表資料の作成において、Officeソフト特有の非効率性に直面していた。手動作業によるミスや、データの更新に伴う再作業が大きな負担となっていた。具体的には以下の課題があった。
- ・レイアウト設定やグラフのコピペ作業が極めて煩雑である。
- ・データソースと出力結果が分離しており、自動化が困難である。
- ・WordやPPTなど、複数の形式への書き出しが手動であり、整合性が保てない。
- ・バイナリ形式のため、Gitによる差分管理ができない。
// Approach
筆者は、プログラムコードと文章を統合して管理できる「Quarto」の導入により、ドキュメント作成の自動化を図った。VS Codeをエディタとして採用し、以下の手順で環境を構築した。
- ・Chocolateyを用いてQuarto CLIを導入した。
- ・Tex Liveを用い、PDF出力のためのLaTeX環境を構築した。
- ・Condaでプロジェクト内にPython仮想環境を作成し、
_environmentファイルでパスを固定した。 - ・YAML設定とLuaLaTeXを用い、IPAexフォントによる日本語PDF出力を実現した。
- ・Matplotlibのフォント設定を行い、グラフの日本語化に対応した。
// Result
Quartoの導入により、コードの実行結果を直接ドキュメントに埋め込むワークフローを構築した。これにより、分析から出力までの一貫性が確保された。具体的な成果は以下の通りである。
- ・1つの
.qmdファイルから、HTMLおよびPDF形式へのレンダリングに成功した。 - ・VS Codeのプレビュー機能により、編集内容を即座に確認できる環境を整えた。
- ・データ分析、グラフ作成、レポート出力を、一貫したコードベースで管理可能となった。
Senior Engineer Insight
> 本手法は「ドキュメントのコード化」を実現しており、データ分析業務の再現性を劇的に高める。特に、環境構築(LaTeXやフォント設定)のオーバーヘッドは無視できないが、一度テンプレート化すれば、CI/CDへの組み込みやチーム内での共有も容易になる。ただし、非エンジニアが扱うには学習コストが高いため、出力形式をHTMLに絞るなどの運用設計が肝要である。