このリポジトリは、DockerとLaTeXを利用した週次レポート作成のための環境です。being24/latex-dockerイメージを使用して、一貫した環境でレポート作成ができます。
- Docker
- Git(オプション)
- VSCode(推奨、拡張機能「Remote - Containers」「LaTeX Workshop」)
project-root/
├── .devcontainer/ # Docker環境設定
│ ├── devcontainer.json
│ └── Dockerfile
├── .latexmkrc # LaTeXビルド設定
├── .vscode/ # VSCode設定
├── classes/ # カスタムクラスファイル(必要に応じて)
│ └── report.cls
├── week1/ # 第1週レポート
│ ├── report.tex
│ ├── images/ # 画像ファイル
│ └── scripts/ # Pythonファイル
├── week2/ # 第2週レポート
│ ├── report.tex
│ ├── images/
│ └── scripts/
├── compile.sh # コンパイル用スクリプト
└── README.md # このファイル
レポートをコンパイルするには次のコマンドを使用します:
docker run -u $(id -u):$(id -g) --rm -v $PWD:/workdir ghcr.io/being24/latex-docker latexmk -pdf report.texより簡単に利用するために、プロジェクトにはcompile.shスクリプトが含まれています:
# スクリプトに実行権限を付与(初回のみ)
chmod +x compile.sh
# デフォルトでreport.texをコンパイル
./compile.sh
# 特定のファイルをコンパイル
./compile.sh week1/report.tex# 新しい週フォルダを作成
mkdir -p weekX/images weekX/scripts
# テンプレートをコピー
cp week1/report.tex weekX/\documentclass{report} % または jsreport(日本語)
\title{第X週レポート}
\author{氏名}
\date{\today}
\begin{document}
\maketitle
\section{目的}
本実験の目的は...
\section{実験方法}
...
\section{結果と考察}
% 画像の挿入
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\linewidth]{images/result1}
\caption{実験結果1}
\label{fig:result1}
\end{figure}
% Pythonコードの挿入
\begin{verbatim}
import numpy as np
import matplotlib.pyplot as plt
# データ処理コード
...
\end{verbatim}
\end{document}- VSCodeでプロジェクトフォルダを開く
- Remote - Containersの機能を使ってコンテナ内で開く
- LaTeX Workshopの機能を使って編集・プレビュー
.latexmkrcの設定を確認- 手動でDVIからPDFへの変換を試す:
dvipdfmx report.dvi
- latexmkに
-pdfオプションを明示的に指定
- 日本語用のドキュメントクラス(jsarticle, jsreport)を使用しているか確認
- TeXLiveに日本語パッケージがインストールされているか確認
以下は compile.sh スクリプトの例です:
#!/bin/bash
# 引数の処理(デフォルトはreport.tex)
TEXFILE=${1:-report.tex}
# LaTeXコンパイルの実行
docker run -u $(id -u):$(id -g) --rm -v $PWD:/workdir ghcr.io/being24/latex-docker latexmk -pdf "$TEXFILE"