読者です 読者をやめる 読者になる 読者になる

tak0kadaの何でもノート

発声練習、生存確認用。

医学関連は 医学ノート

家庭教師の課題を作るためのシェルスクリプト

シェルスクリプト

アルバイトでやっている家庭教師の課題を自動で作ろうという試み。本当はmakefile(http://qiita.com/mountcedar/items/e7603c2eb65661369c3b)とかrakefile(http://mizchi.hatenablog.com/entry/2014/01/20/090957)を使うらしいのだけれど、情弱でままならないのでシェルスクリプトでゴリ押しした。

headerファイル

\documentclass[11pt,a4paper]{jarticle}
%
\usepackage{amsmath,amssymb}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{ascmac}
\usepackage[dvipdfm]{hyperref}
\usepackage[top=25truemm,bottom=25truemm,left=20truemm,right=20truemm]{geometry}

\begin {document}

と課題を生成するpythonファイルを用意して、

まずはpdfを作成するスクリプトを作る。

#!/bin/dash
fname=$1
num=$2

for i in `seq 1 $num`
do
    python $fname > hwtmp$i.md
    pandoc hwtmp$i.md -o hwtmp$i.tex
    cat header hwtmp$i.tex > hwtmp$i$i.tex
    echo "\end{document}" >> hwtmp$i$i.tex
    platex hwtmp$i$i.tex
    dvipdfmx hwtmp$i$i.dvi
done

rm *.md *.tex *.aux *.dvi *.log *.out

sedコマンドとか使ったらファイルの先頭に挿入できるらしいけど、これも諦めてゴリ押ししてしまったorz

印刷用スクリプト。ほとんどデフォルトの設定を利用する。

#/bin/dash

for i in *.pdf
do
    lp -o sides=two-sided-long-edge $i
done

おしまい。