- 目次
これは、九州産業大学大学院情報科学研究科下川研究室で利用している修士論文のテンプレートリポジトリである。 下川研では、修士論文を作成する標準的な環境として、LaTeX と GitHub を利用する。 文章作成に LaTeX、バージョン管理およびバックアップとして GitHub を使う。
修士論文を執筆する上で、論文をバージョン管理していく。 第1版である初版、それに対する添削結果を受けて執筆した改定版、 最終的に、修論提出締切日に提出する提出版など。
下川研では、これらを第n版として番号で管理し、版毎に Git 上にブランチを作成する。 基本的には以下の手順で執筆作業をすすめる。 これらの具体的な作業内容については2.具体的な作業内容で説明する。
- テンプレートリポジトリをコピーして自分のリポジトリーを作る
- リポジトリーをPCにクローンする
- aldc (Add Linx DevContainer)を使って 下川研 LaTeX 環境を構築する
- この時点で一度 commit, push をする(mainブランチを更新する)
- 自分のリポジトリーで、作業用ブランチを作成する
- 今後、作業用ブランチは下川への提出毎に新たに作成する
- 作業用ブランチ上でレポートを作成(更新)する
- 添削を依頼するために Pull Request を送る
- 提出したので、次の作業用ブランチを作成する
- 下川から OK のリプライが来たら終了。NG だった場合は、下川からのリプライにしたがって、8. で作成した新しい作業用ブランチ上でレポートを更新(5. に戻る)
以下の説明の section の枝番号は 1. の箇条書きの番号と対応している。
- ブラウザでこのリポジトリーにアクセスし
Use this template
ボタンをクリック - リポジトリ作成画面になる
Owner
はsmkwlab
のままRepository name
は、k99rs999-sotsuron
のように自分の学籍番号を入れ、さらに卒業論文であることが分かるような名前にする- 公開範囲は
Private
のまま
Create repository from template
ボタンをクリック
- 作成されたリポジトリーの画面で
Code
ボタンをクリック Open with GitHub Desktop
をクリック- 自分のPCでリポジトリーを置くディレクトリを確認して
Clone
ボタンをクリック
- LaTeX環境構築終了時点で、main ブランチに commit と push をする
- GitHub Desktop, git コマンドライン何を使っても良い
- コミットメッセージは自由。お勧めは
LaTeX環境構築
- おそらく目次案の作成が終わっていると思うので、作成済みの目次案を元に sotsuron.tex に
chapter
,section
,subsection
などを記述していく - VSCode 上で ▷ ボタンをクリックすることで sotsuron.pdf を生成
- ▷の右横の虫眼鏡が右下に描かれたアイコンをクリックすることでVSCode上で PDF をプレビューできる
- GitHub Desktop のウィンドウの最上部には、3つのボタンが並んでいる。 一番左側がリポジトリの選択。一番右側が中央リポジトリとのやり取りの処理。 そして、真ん中にあるのがブランチ処理。
Current Branch
main
と描かれたボタンがある。このボタンの一番右端の▼
を押す。
2. 表示されるメニュー中のNew Branch
ボタンをクリック
3. Create a Branch
というダイアログが出るので、Name
を 1st-draft とする。草稿第1版という意味
4. Create Branch
ボタンをクリック
5. Publish branch
ボタンをクリック
6. 先程の真ん中のボタンが、以下に変わる。
Current Branch
1st-draft
- GitHub Desktop で現在の草稿用ブランチが選択されていることを確認して sotsuron.tex を編集
Open in Visual Studio Code
をクリックして Visual Studio Code で作業- このとき、Visual Studio Code の左下に、ブランチの名前が表示されている
- 必要に応じて別のファイル(画像など)を追加したりして良い
- ファイルを保存する度に
textlint
による自動チェックが起動する- チェック結果が VSCode の 問題 に表示されるので内容を確認し適宜対応
- VSCode 上で ▷ ボタンをクリックすることで PDF が生成される
- ▷の右横の虫眼鏡が右下に描かれたアイコンをクリックすることでVSCode上でプレビューできる
- プレビューに問題ないことを確認したら、GitHub Desktop で commit
Push origin
をクリックして、リモートリポジトリーに Push- 1.に戻る
- sotsuron.pdf を印刷し、その印刷版を読み(可能であれば音読)、推敲。問題があれば、2.4に戻る
- GitHub Desktop で
Create Pull Request
をクリックして、Pull Request を作成 - ブラウザが開くので、
Title
に 現在のブランチ名 を記述Title
はデフォルトでなんらかの文字列が入っているが、それは削除する。- 現在のブランチ名 とは、最初であれば
1st-draft
であり、2回めであれば2nd-draft
になるはず
Write
タブに変更点などを記述Create pull request
ボタンをクリック
- GitHub Desktop で
Current Branch
ボタンをクリック New Branch
ボタンをクリックName
を 2nd-draft など、次の版であることが分かる名前にする- 下の
Create branch based on...
は直前の草稿のブランチ (次が2nd-draft
なら前は1st-draft
) を選択 Create branch
ボタンをクリックPublish branch
ボタンをクリック
- 下川からの返事を待つ
- 返事の内容は、リモートリポジトリの
Pull Requests
タブの中にある- そこにも見当たらなければ
1 Closed
のようなリンクをクリックすると見えるはず - 見当たらなければ下川に問い合わせる
- 下川は、添削結果を返信する際に、皆さんの草稿用ブランチの内容を main ブランチに反映させる作業(merge) もしている
- したがって、返信が来たときには、リポジトリ上の main ブランチは提出した草稿と同じ内容に更新されている
- そこにも見当たらなければ
- OK ならば以下の通り
- 最終版の原稿に
final
というタグを打つ- GitHub Desktop の
History
で一番上にある履歴を右クリック Create Tag...
をクリックName
に final と入力しCreate Tag
ボタンをクリック- 提出終了。お疲れ様。
- GitHub Desktop の
- 最終版の原稿に
- NG ならば現在の草稿上で編集(2.4に戻る)
擬似的に 2.1〜2.8 の操作をサンプルリポジトリで実施してみた。 ただし、aldc 開発以前に実施したので、aldc に関する履歴はない。 Github 上で、Insights → Network と選択することで、ブランチ分岐を確認できる。
目次案提出までは、main ブランチで作業。 その後 1st-draft ブランチを作成し、その上で作業。 1st-draft 提出時に pull request を作成し、toshi0806 に review をリクエスト。 その後 2nd-draft ブランチを作成し、その上で作業。 添削終了後に pull request を main に merge。 2nd-draft 提出時も pull request を作成し、toshi0806 に review をリクエスト。 その後 3rd-draft ブランチで作業中。
- 提出締め切りを念頭に置いて執筆を進めること
- である体で書くこと
- 長い文を書かず、適切に文を分割すること
- 「が」で続けるのは良くない
- 適切な内容で段落を分割すること
- 文の途中に箇条書きを入れないこと
- すべての図や表は本文中で参照すること
- まとめは感想ではない。
- 今後の課題を除いて、それ以前の本文で記述されていないことを、まとめに書いてはいけない
- 図や表にはキャプションを入れる
- 原則として、1文1行で記述すること
- 差分が見やすいし、編集指示も出しやすい
\\
による改行はtabular
環境以外では原則として使用不可
このリポジトリには2つの GitHub action が設定されている
Pull Request を発行すると、auto_assign_myteams.yml に基づき Reviewers と Assigneess を自動で設定する。 デフォルトでは、どちらも下川(toshi0806)を指定している。 下川研の学生はこのままで問題ない。 他の研究室の学生が利用する場合には、ここの設定を変更すること。
この機能が不要な場合には auto_assign_myteams.yml を削除する。
Pull Request を発行すると、thesis.tex と abstract.tex から PDF を自動生成し、 GitHub 上の Release に配置する。
TeX 環境を持っていない人に PDF を見てもらうのに利用できる。 ただし、ここで作成された Release は一般公開はされない。
この機能が不要な場合には check.yml を削除する。
質問があれば、遠慮なく smkwlabML ML へ。 きっと、他の人も困っている。 疑問と回答はみんなで共有しよう。