記録書マシーンは,swlabにおける記録書の作成を支援するマシーンです. あくまで支援するだけです. 記録書マシーンを使ったことによって先生に怒られても,自己責任でお願いします.
Ruby | 1.9.3 |
Rubyの他に,yamlライブラリが必要です.
記録書マシーンは,以下のディレクトリ構成を想定しています.
└─mydocuments (打合資料のドラフトなど自分が作成したドキュメント)
└─Record (記録書ディレクトリ)
├─RecordNo1
| ├─record15.org
| ├─record15.pdf (記録書 No.15)
| ├─reportForm.sty
| └─options
| └─default.org
├─RecordNo2
| ├─record16.org
| ├─record16.pdf (記録書 No.16)
| ├─reportForm.sty
| └─options
| └─default.org
└─options
└─default.org
└─kirokusyo (記録書マシーン)
├─kirokusyomachine.rb
├─get_schedule.rb
├─caldav.rb
├─calendar.rb
├─record.rb
├─record_generator.rb
├─record_parser.rb
├─make_up_kirokusyo.rb
└─org (sample)
├─reportForm.sty
├─sample.org
├─test.org
└─options
└─default.org
以下の3つのカレンダのurl,user,passを設定する.
- 研究室関連カレンダー(laboratory_calendar)
- 大学関連カレンダー(university_calendar)
- 就職活動関連カレンダー(job_calendar)
以下にGoogleカレンダーを指定する場合の例を示す.
(例)
url: https://www.google.com/calendar/dav/[カレンダID]/events
user: ****
pass: ****
カレンダIDは以下のように参照する.
- Googleカレンダーにアクセスする.以下にリンクを示す.
https://www.google.com/calendar
- 画面左のリストから,取得したいカレンダの右にあるボタンをクリックする. さらに,カレンダー設定をクリックする.
- 遷移先の「カレンダーのアドレス」の項目にカレンダーIDが記載されている.
以下の3つの情報を設定する.
- 名前(name)
- 研究室(laboratory)
- 学年(grade)
以下のスクリプトを適当な場所に作成する. この例では,~/Program/script/shell_script/typeset4org.shとした.
#!/bin/sh
echo $1
filename=`echo $1 | sed -e "s/\.tex//"`
echo "filename is $filename"
platex $filename
platex $filename
dvipdfmx $filename
.emacs.d/init.elに以下の行を追加する.
(defun org-mode-hook()
(when (require 'org-latex nil t)
(setq org-latex-to-pdf-process '("sh ~/Program/script/shell_script/typeset4org.sh %f"))
(add-to-list 'org-export-latex-classes
'("reportForm"
"\\documentclass[fleqn, 12pt]{extarticle}
\\usepackage{reportForm}"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
))
))
(add-hook 'org-mode-hook 'org-mode-hook)
orgディレクトリ以下を記録書ディレクトリ(各自が記録書を管理しているディレクトリ)にコピーする. test.org,sample.orgを参考にして,orgファイルを作成する.
記録書ディレクトリに移動します. 以下のコマンドを実行します.
$ ruby kirokusyo-machine.rb oldrecord_file period1 period2
$ ruby kirokusyo-machine.rb test.org 20130401/20130415 20130415/20130430
以下のように出力ファイルを指定すると,記録書がorg-modeのファイルで出力されます.
$ ruby kirokusyo-machine.rb test.org 20130401/20130415 20130415/20130430 > test2.org
作成したorgファイルをemacsで開く.
$ emacs test2.org
emacs 上で以下のコマンドを入力する.
C-c C-e d