これは,2019年度第二回総会議案書リポジトリです.
Werckerを用いて,総会文書のビルドを自動化しています. 生成されたPDFは,Slackの総会チャンネルにアップロードされます.
文章表現について統一表記をここに示します.落ち着いた時にでもいい感じのところに書きなおしてください.
-
口調:である調(だ調はダメ)
-
数字:固有名詞(例:2019年度第二回総会),慣用句(三日月),一つ・二つ,一回生・二回生 以外は半角アラビア数字
-
西暦等:半角アラビア数字
-
日付:○○○○年○月○日(例1:2013年10月1日,例2:10月1日,2日,3日)
-
期間:○か月(か はひらがな)
-
以下省略:正式名称(以下,略称),(例:関西情報系学生団体交流会(以下,KC3))
-
句読点:,.(それぞれ全角)
-
カンマ・ピリオドも全角でお願いします(本来半角でなければならいものを除く(例:ファイル名,URL))
-
括弧:( )(それぞれ半角)
-
カギカッコ:「」(『』や""は「」へ)
-
英数字:原則半角
-
RCC・当会・本会:本会
-
本局・当局:本局
-
2018年度・昨年度・前年度:昨年度
-
2019年度・今年度:今年度
-
2020年度・来年度・次年度:来年度
-
おこなう:行う(な抜き)
間違えやすい用語
- エポック立命21:エポックやエポック21は間違いです
- 夏期/冬期休暇 : 季節の季ではなく,期間の期です
総会文書は,Gitで管理されています. ここでは,Gitを使った執筆作業を説明します.
コマンドがわかる人は,この通りに作業するといい感じになるでしょう. SourceTree(GUIツール)を利用する方は,それっぽい説明を頑張って解読してください.
作業を始める前に,このリポジトリをクローン(clone)する必要があります. 言い換えれば,総会議案書とそれを管理するGitのデータを取得するということです.
- SSHでのクローン:
$ git clone [email protected]:ritscc/soukai/soukai-2019-2.git
- HTTPSでのクローン:
$ git clone https://gitlab.com/ritscc/soukai/soukai-2019-2.git
SSHの設定していない方はHTTPSからクローンしてください.
SSHでクローンしておくと,コミット作業が楽です.
後からでも$ git remote
を使って,変更できますので,設定しておくとよいでしょう.
下の方に書いてある「当会の規約をサブモジュールとして取得する方法」も参照してください.
基本的に,次の2本のブランチが存在しています.
- master : バージョンができ次第,ここにマージ(統合)されます.ここは普段更新されません.
- develop : 開発用ブランチです.ここに作業用ブランチをマージしていくことで執筆を進めます.
- 自分が行う作業を「課題」として作成します.既に課題が登録されていれば,この作業は不要です. BitBucketの「課題」ページの「課題を作成」ボタンを押して,課題を作成します. タイトルや説明は,他の人が読んでもわかるように書いてください. 担当者は担当する人に割り当て,課題のkind(種別)は作業内容に合うように設定してください.
- 作業前に,
$ git pull
しておきます.こうすることで,作業の衝突(コンフリクト)を少なくさせられます. - 担当者は,developブランチを起点に,作業用ブランチ(branch)を作成します.
$ git checkout -b <branchname> develop
ブランチ名は重複しないように任意で構いません. ブランチ名に課題番号を含めておくとブランチを探しやすくなり,重複もしないのでオススメです. 課題番号は,課題名の左に#<数字>
の形式で書かれています. - 編集します. 編集方法は,下の「文書の執筆作業について」の章をお読みください.
- キリの良い所で,ファイルを追加(add)してコミット(commit)します.
$ git add <filename>..
$ git commit
コミット時は,作業内容がわかるように書いてください. また,コミットのどれかにReopen #<課題番号>
を含めるようにしてください. - 完成したらリポジトリにプッシュ(push)します.
$ git push origin <branchname>
(注) なお,先ほど挙げたmasterとdevelopにはプッシュできません.権限の管理を行っています. - https://gitlab.com/ritscc/soukai/soukai-2019-2からプルリクエスト(pull request)を作成します.
画面右上の方の「プルリクエスト」のボタンから作成してください.
(注) タイトルは,課題番号を
Fix #<課題番号> : <作業内容>
という形式で記述してください. 左には,先ほど自分がプッシュ(push)したブランチを,右には「ritscc/soukai-2019-2」の「develop」のブランチをセットします. ※ なお,プルリクエストは,自分のブランチをdevelopにマージしたいという申請のことです. - あとはレビューされてください.みんなはレビューしてください. 問題点があれば,プルリクエストのコメントを使って,問題点を指摘してください. ここで問題ないと判断したら__13__に飛んでください.
- 指摘などがあり,変更の必要がある場合は,先ほどのブランチで,編集しなおします.
- 編集できたら,add,commit,push!!!!!!
- 自分が作成したプルリクエストのページに表示される「プルリクエストの更新」をクリックします. ※ ついでに修正した旨をプルリクエストのコメントで書いておくといいでしょう.
- 8~11を繰り返してどんどん良くしていきます.
- レビューして問題無いと判断した人は,右上のApprove(承認)をクリックして「いいね!」してください.
- いい感じだったら,執行委員長の判断でdevelopブランチにマージされます.
なおマージされた後に,developブランチをプル($ git pull
)すると,更新されているのが確認できます.
$ git pull
$ git log
わからなければメーリングリストやSlack等で相談してください.全員で共有しましょう.
Gitのサブモジュール機能を使って,当会の規約を総会議案書の一部として取り込むようにしています. LaTeXのコンパイル時に必要になるので,説明しておきます.
$ cd soukai-2019-2
$ git submodule init
$ git submodule update
執筆の全体的な流れをここに記載します. Gitを使った作業の4までの作業を完了していることを前提としていますので, まだ作業を行っていない方は作業を済ませてください.
- 担当している箇所に対応するファイルを作成,あるいは開きます. 基本的には,担当している「課題」のページに記載されているファイルを編集すればよいでしょう. 記載がない場合やタスクがない場合は,「ディレクトリ構成について」の節を参考にしてファイルを配置してください.
- 執筆します.
章や節,リスト等の文章以外の文書の構成要素は,LaTeXコマンドを用いると良いでしょう.
hajimeni.tex以外は,
\subsection*{}
から始めるようにしてください. また,\writtenBy
コマンドを使って文責も記述してください. - 総会文書執筆では,担当箇所ごとにファイルを分割しています. 分割されたファイルは,章のファイルや局別のファイルで自動的に取り込まれるようになっています. 「ディレクトリの構成」の節を参考にして,編集するファイルを確認しましょう.
総会文書は,LaTeX(ラテフ)を用いて執筆します. LaTeXは,書籍や雑誌,レポート,論文などの執筆に広く使われている,フリーの組版システムです. 担当箇所ごとにファイルを分割して,1つの文書を構成することができるため,複数人での作業に適しています.
LaTeXの書き方については,各自ググってください.
LinuxやMacOSを使っている人は,以下のコマンドでLaTeXのコンパイルが行えると思います. ここでは,Makefileを使って,PDFを生成する方法を載せています.
$ cd soukai-2019-2
$ make pdf
左の表現を記述したい場合は,右のコマンドを記述することで表示させることができます.
{}
は引数です.
-
会計局
\kaikeiDepartment
-
会計局長
\kaikeiChief
-
会計局員
\kaikeiStaff
-
研究推進局
\kensuiDepartment
-
研究推進局長
\kensuiChief
-
研究推進局員
\kensuiStaff
-
渉外局
\syogaiDepartment
-
渉外局長
\syogaiChief
-
渉外局員
\syogaiStaff
-
システム管理局
\systemDepartment
-
システム管理局長
\systemChief
-
システム管理局員
\systemStaff
-
総務管理局
\soumuDepartment
-
総務管理局長
\soumuChief
-
総務管理局員
\soumuStaff
-
執行委員長
\president
-
副執行委員長
\subPresident
-
一回生
\firstGrade
-
二回生
\secondGrade
-
三回生
\thirdGrade
-
四回生
\fourthGrade
-
文責:x y z
\writtenBy{x}{y}{z}
利用例:
\writtenBy{\president}{立命}{太郎}
実行結果:
文責:執行委員長 立命 太郎
├── README.md - このファイル
├── src/
│ ├── zenki.tex - 第一回(前期用)総会文書用メインファイル
│ ├── kouki.tex - 第二回(後期用)総会文書用メインファイル
│ ├── hajimeni.tex - 「はじめに」
│ ├── soukatsu/ - 総括用ディレクトリ
│ │ ├── zentai.tex - 全体総括メインファイル(全体総括用フォルダの内容を\input{})
│ │ ├── 1kai.tex - 1回生総括
│ │ ├── 2kai.tex - 2回生総括
│ │ ├── 3kai.tex - 3回生総括
│ │ ├── 4kai.tex - 4回生総括
│ │ ├── kaikei.tex - 会計局 総括用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── kensui.tex - 研究推進局 総括用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── syogai.tex - 渉外局 総括用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── soumu.tex - 総務局 総括用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── system.tex - システム管理局 総括用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── zentai/ - 全体総括用フォルダ(局,回生別以外のファイルはここに配置)
│ │ ├── kaikei/ - 会計局 総括用フォルダ
│ │ ├── kensui/ - 研究推進局 総括用フォルダ
│ │ ├── syogai/ - 渉外局 総括用フォルダ
│ │ ├── soumu/ - 総務局 総括用フォルダ
│ │ └── system/ - システム管理局 総括用フォルダ
│ ├── houshin/ - 方針用ディレクトリ
│ │ ├── zentai.tex - 全体方針メインファイル(全体方針用フォルダの内容を\input{})
│ │ ├── 1kai.tex - 1回生方針
│ │ ├── 2kai.tex - 2回生方針
│ │ ├── 3kai.tex - 3回生方針
│ │ ├── 4kai.tex - 4回生方針
│ │ ├── kaikei.tex - 会計局 方針用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── kensui.tex - 研究推進局 方針用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── syogai.tex - 渉外局 方針用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── soumu.tex - 総務局 方針用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── system.tex - システム管理局 方針用フォルダの内容を\input{}するファイル(自動生成)
│ │ ├── zentai/ - 全体方針用フォルダ(局,回生別以外のファイルはここに配置)
│ │ ├── kaikei/ - 会計局 方針用フォルダ
│ │ ├── kensui/ - 研究推進局 方針用フォルダ
│ │ ├── syogai/ - 渉外局 方針用フォルダ
│ │ ├── soumu/ - 総務局 方針用フォルダ
│ │ └── system/ - システム管理局 方針用フォルダ
├── build/ - ビルドした総会文書が出力されるディレクトリ
│ └── document.pdf - PDF出力ファイル
├── docs/ - 総会文書リポジトリをセットアップする人向けのドキュメント類
├── template/ - 自動生成に使われるテンプレートファイル群
├── constitution/ - 「RCC規約」
├── ta9boh/ - 体裁自動チェックシステム「Ta9boh」
├── tex-commands/ - 総会文書で使用するTeXコマンド群
├── tools/ - テストに使われるツール群
├── Makefile - ビルド・テスト作業の自動化用ファイル
├── setup.rb - 総会リポジトリのセットアップ自動化スクリプト
├── assignee.yml - setup.rbで使用する担当者設定ファイル
└── wercker.yml - 継続的インテグレーションサービス Werckerのための自動ビルド設定ファイル
リポジトリやファイルのセットアップ方法は,README_setup.mdをご覧ください. 自動ビルドのセットアップ方法は,README_CI.mdをご覧ください.