全国高等専門学校プログラミングコンテスト
ソースリスト提出支援のためのLaTeXスタイルファイル
proconsrc.sty
Version 3.5

Compiled by Shoichi Ito (shoichi@ei.nagano-nct.ac.jp)


このパッケージについて

全国高等専門学校プログラミングコンテストの本選では受付時にソースリストを提出する必要があります。このソースリスト作成をLaTeXにより簡単かつ美しく行うためのスタイルファイルがproconsrc.styです。長野高専で過去数年間にわたって使われてきていたものをベースにしています。


準備

proconsrc.styの動作には、listings環境と奥村晴彦先生による新ドキュメントクラスが必要です。

  1. お使いのマシン上でLaTeXを使えるようにします。Windowsの人は角藤版W32TeX、Macの人はMacportsから入れるのがよいでしょう。
  2. 日本語対応のlistings環境を使えるようにします。
    1. ここの上の方に"You can get this entire directory bundled as listings.zip"とありますのでそこからlistings.zipをダウンロードします。
    2. ここの"jlisting 本体 ver. 0.2 (bzip2) (ライセンス:パブリック・ドメイン)"からjlisting.sty.bz2をダウンロードします。
    3. listings.zipとjlisting.sty.bz2をTeXの管理下の適当なフォルダに移動します。たとえばC:\tex\share\texmf-local\tex\latex\などに置きます。
    4. コマンドラインを開き、そのディレクトリに移動したうえで次のように入力します。WindowsではCygwinがインストールされていないと各種コマンドが使えないかもしれませんが適宜読み替えてください。
      % unzip listings.zip
      % rm listings.zip
      % bzip2 -dv jlisting.sty.bz2
      % mv jlisting.sty listings
      % cd listings
      % latex listings.ins
      % mktexlsr
    5. これでlistings環境のインストールは完了です。上記listingsフォルダにあるlistings.pdfがlistings.styの正式な説明書ですので一度は目を通しておくとよいでしょう。
  3. ここを参考にしてjsarticleを使えるようにします。角藤版W32TeXの場合は最初からインストールされていますのでこのステップは必要ありません。

以上で準備完了です。


使い方
  1. sample.texをテキストエディタで開きます。
  2. sample.texの35行目前後に「%%%%% ここを書き換える %%%%%」という行があります。ここから「%%%%%%%%%%」という行までの間に、参加者の情報を書き込む部分がありますので適宜書き換えます。特に迷うことはないでしょう。
  3. sample.texの75行目前後に「%%%%% ここを書き換える %%%%%」という行があります。ここから「%%%%%%%%%%」という行までの間に、印刷したいソースコードのファイル名を
    \InputSource{bzip2.c}
    といった感じで\InputSource命令の引数に入れて、これを必要な個数だけ並べてください。
  4. コマンドラインから
    % platex sample.tex
    のように入力してコンパイルします。もし"LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right."という警告が出ていたらもう一度同様のコマンドを実行してください。
  5. エラーがなければsample.dviができています。dvioutなどのプレビューアで確認するか、PostScriptやPDFに変換して中身を確認してください。問題がなければ印刷しましょう。LaTeXの都合でうまく組版されない場合もあるので、必ず全ページを目で確認してください。

提出前のチェック


FAQ

  1. 片面印刷にしたい。
    → sample.texの\documentclass[a4j, twoside]{jsarticle}となっている部分を\documentclass[a4j]{jsarticle}のようにしてください。
  2. 真っ白なページがある。
    → 両面印刷時には、たとえば表紙と目次の間のように、真っ白なページが挿入されることがありますが間違いではありません。
  3. ページ番号などがおかしい。
    → \tableofcontentsや\Lastpageを使用するため、2回か3回platexで処理する必要があります。それでもおかしい場合は、sample.auxやsample.tocなどを削除してからもう一度ためしてみてください。
  4. ソースコード中の日本語が文字化けする。
    → 文字コードが適切ではないかもしれません。W32TeXではソースコードの文字列をSJIS+CRLFに変換してください。文字コードの変換はnkfというコマンド等で行えます。たとえばここにはWindows用の文字コード変換ユーティリティがたくさんあります。
  5. ソースファイルがたくさんありすぎて一覧をリストアップするだけで大変。
    → Cygwinが入っているなら、find . -name '*.c' -print > ichiran.txt のようにしてください。
  6. C言語以外のソースコードを入れたい。
    → このスタイルファイルではデフォルトはC言語のソースコードを想定しています。デフォルトの言語を変えたい場合は、sample.texの18行目前後に\lstset{...}という命令がありますので、その中のlanguage=Cとなっている部分をlanguage=Javaやlanguage=C++のように変更してください。対応している言語はlistings.pdfを参照してください。言語を切り替えることで、書体が変更されるキーワード(命令)が切り替わり、見栄えのよい出力が得られます。デフォルトの言語はCでいいがhoge.javaだけJavaスタイルにしたいという場合は、\InputSource{hoge.java}という部分を
     \lstset{language=Java} % Javaにする
     \InputSource{hoge.java} % ソース本体
     \lstset{language=C} % Cに戻す
    のようにしてください。
  7. タブをスペース4以外にしたい。
    → sample.texの18行目前後に\lstset{...}という命令がありますので、その中のtabsize=4という行を変更してください。
  8. ヘッダーにサブタイトルが出力されない。
    → 場所的な制限から、メインタイトルしか出ないようにしてあります。

おことわり
更新履歴
関連リンク

テプラとラベルマイティはプロコンのお供にあると大変便利です。ぜひ揃えましょう。


Copyright 2010-2011 Shoichi Ito all rights reserved.
Last update: February 17, 2011