\(\LaTeX\)による詰棋書の組版(10) ファイルを分割して管理

ファイルがかなり長くなってきたので、ここで\(\LaTeX\)の便利な命令である\input{}を使い始めることにします。

\input{読み込むファイル名}

CloudLaTeXで新しいプロジェクトを作ってください。(古いものは削除してもかまいません)

そしてmain.texに次のように入力してください。

3つのファイルを読み込めという命令が書いてあります。

次の3つのファイルをそれぞれ保存してください。

  • preamble.tex プリアンブル部分です。図面を書く仕組み部分などが書かれています。
  • section1.tex 問題図面だけの頁です。
  • section2.tex 図面とその作意手順・解説が書かれた頁です。いただいた短評とJudgeのコメントを入力してあります。

解説は後回しにして、組版の方を先に進めましょう。

ここではじめて3つのエリアの一番左側の部分を使います。

左上の「+」をクリックします。

【新規ファイル】を選んでコピペしてもいいのですが、【アップロード】を選びましょう。

先程ダウンロードした3つのファイルを選んで、アップロードしてください。

それぞれちゃんとアップロードできたことを確認したら、コンパイルします。

出題頁は上のように、解説頁は下のように出力されたと思います。

これを印刷するには次のような手順を踏みます。

右上の【PDF ダウンロード】のアイコンをクリックします。

このまま印刷もできますが、やはりローカルにダウンロードしましょう。

上はうちのCANONのプリンタドライバですが、EPSON 他でも同じような設定ができると思います。

A5で出力しましたので、A4の用紙の裏表に4頁印刷できます。
コンパイルなどが面倒だという方は「つくってみた78」をどうぞ。

それでは解説に入ります。

プリアンブルの変更

いままでデフォルトのA4サイズの出力で進めてきましたが、印刷はA5にする方が便利だと心を入れ替えたので、初めの部分のレイアウトの設定を色々と変えました。

\documentclass[9pt,a5paper,twoside,papersize]{jsarticle}
\usepackage{ascmac}
\usepackage[dvipdfmx]{graphicx}

\setlength{\hoffset}{-5mm}
\setlength{\voffset}{-15mm}
\setlength{\textheight}{200mm}
\setlength{\textwidth}{130mm}
\setlength{\footskip}{8mm}

\setlength{\columnseprule}{0.4pt}
\setlength{\columnsep}{10mm}
\setlength{\evensidemargin}{\oddsidemargin}

詳しくは参考書を確認してください。
実はこの部分は私もよくわかっていません。
(というより、教科書の通りに動いてくれない)
ので、適当にコンパイルを試しつつ、数値を決めています。

出題頁(section1.tex)の図面と解説頁(section2.tex)の図面をちょっと変えています。
出題頁では番号と作者名、タイトルだけを出力し、解説頁ではそれに加えて、発表メディアと発表年月を出力するようにしました。

\newif\if解説
\解説false

\def\図面始{
{\large\bf 第{\theBANGO}番\hspace{1zw}\SAKUSYA}
\hfill
\TYTLE

\if解説{{\bf\PRIZE}\hfill
\MEDIA\YMD}\fi

1行目には番号(BANGO)と作者(SAKUSYA)・タイトル(TYTLE)。

そして2行目に受賞(PRIZE)・発表メディア(MEDIA)と発表年月(YMD)ですが、2行目は\if解説{}\fi の間に入れました。
これは \newif という命令で作成したフラグで、\解説true なら実行し、\解説false なら実行しないという命令です。

\section1 では\解説false としておいて、\section2 の冒頭で\解説true としています。

解説頁のための命令も追加しています。
といっても、短評は出来合いの\description環境を利用しているだけです。
そのうちきちんと書きたいと思っています。

\long\def\短評#1#2{\item[#1]#2}
\def\短評始{\begin{description}}
\def\短評終{\end{description}}

上の解説では省略しましたが、実際にはsection2.texはAWKの出力に解説を書き加えただけでは、おかしな所で改頁されたりしてしまいます。
これは巨大な1つの文字である図面を含んだ文書なので仕方がないことです。

次の命令はその編集のための命令です。

\newif\if改段
\改段false
\long\def\解説#1{
{\parindent=1zw
#1
}
\vspace{10mm}
\if改段{\newpage}\fi
}

基本的に\改段true としておいて、\解説{}の終わりで改頁(\newpage)をします。
でも、ここでは改頁したくない所では、\解説{}の前に\改段false を入れておく訳です。

実際にソースをいじってみると動きがわかると思います。

section1.texの変更

これは図面3つ毎に\newpageを入れて改頁をしています。
【柿木2つみき.awk】に次の行を挿入します。,

/先手の持駒:/{
  page++
  if(page%3==0) printf("\\newpage\n\n\n")
}

カウンタpageが3の倍数なら\newpageを出力させます。

section2.texの変更
\解説true
\twocolumn[
\hrule\vspace{.5mm}\hrule\vspace{3mm}
{\LARGE\bf 第7回 両王手による詰め上がり}
\begin{flushright}
\Large Judge:近藤郷
\end{flushright}
\hrule\vspace{.5mm}\hrule\vspace{4mm}
]
\setcounter{BANGO}{0}
%-----------------

これはsection2.texの冒頭です。
\twocolumn[]の[]の中の部分は2段抜きになります。
見出しを入れてみました。

このようになります。

次回は、ファイル名がデタラメについている棋譜ファイルを処理するノウハウについて説明します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください