記録書マシーンは,swlabにおける記録書の作成を支援するマシーンです. あくまで支援するだけです. 記録書マシーンを使ったことによって先生に怒られても,自己責任でお願いします.
Ruby | 1.9.3 |
Rubyの他に,yamlライブラリが必要です.
記録書マシーンは,以下のディレクトリ構成を想定しています.
└─record (記録書ディレクトリ) ├─record15.org ├─record15.pdf (記録書 No.15) ├─record16.org ├─record16.pdf (記録書 No.16) ├─reportForm.sty └─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)
以下の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