TeX 縦書き文書 ひながた(「飇風」組版用)
TeX環境 構築メモ
- UNIX 関連
- mi を使うときは、改行コードを LF(UNIX) に切り替えること。
- スタイルファイルの利用
- 改行コードを LF(UNIX) にしたスタイルファイル(.sty)を用意。
- 「フォルダへ移動」で /usr/local/texlive/texmf-local/tex/latex/ へ移動。
- スタイルファイルを格納。
- 「ターミナル」から sudo mktexlsr を実行。
- ページレイアウト関連(tony氏の「版面を構成するパラメータ」を参照)
- \documentclass[b5paper,11pt]{tarticle} % B5・11ポイント。tarticle → 縦書き文書の指示。
\AtBeginDvi{\special{papersize=182mm,257mm}} % ペーパーサイズをB5の大きさに指定。DVIとは"device-independent file format"(デバイス独立フォーマット)のこと。TeXの出力フォーマットである。
\setlength{\topmargin}{28mm} % ページ上部余白の設定(182mm x 257mmから計算)。
\addtolength{\topmargin}{-1in} % 初期設定の1インチ分を引いておく。
\setlength{\oddsidemargin}{22mm} % 同、奇数ページ左。
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{28mm} % 同、偶数ページ左。
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{196mm} % 文書領域の幅(上下)。縦書と横書でパラメータ(width / height)の向きが変わる。
\setlength{\textheight}{132mm} % 文書領域の幅(左右)。
\setlength{\headsep}{0mm} % ヘッダ下端と本文領域との間隔。私の場合、ヘッダをつけぬので、この辺の数値は0である。しかし headsep って何や。headseparation? headseparator?
\setlength{\headheight}{0mm} % headheight → ヘッダの高さ。ヘッダはつけないが、設定しておかぬと TeX の自動配置の際にデフォルト値(知らんけど)を入れられそう。
\setlength{\topskip}{0mm} % ここは改善の余地あり→下段 [参考] "行位置が揃った段組" を見ること。
\setlength{\parskip}{0pt} % 段落間の自動空白調整を切る。parskip って何の略や。parindent っちゅうのもあるけど、par って何なんや? → par とは paragraph(段落)のことらしい。 parindent は、1行目の字下げ幅。
- その他の段落調整
- \renewcommand{\baselinestretch}{1.1} % 行間を1.1倍(1ページ20行)に再定義(ただし、これは何となく20行になる行間を設定しているだけ。きっちり行を揃える方法は下段 "行位置が揃った段組" 参照→第52号から導入するつもり)。
- 部分的な行間の調整:\usepackage{setspace}
\begin{spacing}{倍率}
\end{spacing}
- \usepackage{indent} % 字下げ引用を行なうためのおまじない。
- 段落先頭の字下げ幅を指定するとき→\parindent を使う。 % jarticleクラスでは、\parindent = 1zw が初期値。 \parindent=-1zw なら先頭も文字詰めとなる。zw は和文字の幅、zh は和文字の高さ。
- \renewcommand{\thepage}{\footnotesize\arabic{page}} % ページ番号のフォントサイズを小さくする。
- 二段組みの設定
- \usepackage{multicol} % 二段組みのためのおまじない。
- \setlength{\columnsep}{12mm} % 二段組みの間隔を12mmに設定。
- 入力→\begin{multicols}{2} と \end{multicols} で囲む。
- 2字下げ引用の方法(および行頭をそろえる or そろえない の定義)→\begin{indentation} と \end{indentation} で囲む。% 行頭(特に1行目)を揃えるのが難しく。苦しんでいる。論理的に考えれば解決するはず。要考慮。
\\ % 引用開始前に入れる。
\begin{indentation}{2zw}{0pt} % 2字下げの引用。
\parindent=-0.001zw % 1行目の文字詰めがうまくいかなかった場合のダミー指令。
ここに引用文。
\end{indentation}
\\
- 2字下げ引用で、2行目以降さらに字下げする方法
\hangindent=3zh
\noindent
(全角スペースを2つ入れた上で)\hspace{-0.1zh}←微調整が必要
- 画像
- 縦書き文書では画像の向きが変わる。反時計回りに90度回転させたものを用意すること。
- 表紙については、下の「表紙まわり」を参照。
- 現在は mediabb.sty を入れ、bb の数値を自動取得している。何か問題が生じたら、下の「基本」に立ち返ること。
- \usepackage{mediabb} % おまじない
- \begin{figure}[tb] % tb は図の配置のオプション。h(ここ)/t(上)/b(下)/p(独立ページ)。
\begin{center} % center → 図を中央揃えで出力
\includegraphics[mediaboxonly, width=20cm]{ファイル名.pdf} % 縦書文書では width が高さとなる。
\end{center}
\end{figure}
- 基本
- \usepackage[dvipdfm]{graphicx} % おまじない。dvipdfm とは、TeX出力(DVI ファイル)を PDF に変換するフリーウェア。
- \begin{figure} % figure → 図を配置するための環境
\begin{center} % center → 図を中央揃えで出力
\includegraphics[width=20cm, bb=0 0 m n]{ファイル名.pdf} % m および n の数字はターミナルからebbコマンドを使って取得
\end{center}
\end{figure}
- 図に文字を回り込ませる方法(→第56号 中島先生「魯迅の偽佚文騒動記」を参照)
- \usepackage{wrapfig}% 図に文字を回り込ませるためのおまじない
- \begin{wrapfigure}{l}{10cm}
\vspace{-12mm}
\begin{center}
\includegraphics[mediaboxonly, height=11.5cm]{nakajima04.pdf}
\end{center}
\vspace{-3\baselineskip}
\end{wrapfigure}
- 注
- \usepackage{kunten2e,endnotes} % 注を入れるためのおまじない
- \renewcommand{\notesname}{{\normalsize 【注】}} % 後注の定義
- \renewcommand{\enotesize}{\normalsize} % 後注のフォントの大きさを本文と同じに
- 入力→ \endnote{注釈文}
- 双行注を入れたいとき→ \sougyou{右行}{左行}
- 後注のカウンタをリセット→ \setcounter{endnote}{0}
- 丸数字の注番号を併用→注としてカウントせず、手作業で入れる。
入力例→\raisebox{0.4zh}{\scriptsize \ajMaru{数字}}
- 漢字・文字コード関連
- TeXShop 上で JIS にない漢字を呼び出す→TeXShopのマクロ「multilanguage」を使う。
[参考]ユニコード番号で文字を呼び出すとき→\UTF{○○}
- \usepackage[expert]{otf} % Mac OS X 上のLaTeXで外字・異体字を使うためのおまじない
- 合字
- 冠脚の合字は楽。\scalebox{縦比率}[横比率]{文字} を連ねるだけ。冠脚が離れすぎる時には、\hspace{-0.2zw} (文字間詰め。数値は適宜)を2文字の間にはさむ。
- 偏旁の合字方法
- \usepackage[dvips]{graphics} % 合字を作成するためのおまじない
- 入力例→「諕」 \raisebox{-0.3zh}{\scalebox{1}[0.4]{言}}\kern-1zw\hbox{\raisebox{0.2zh}{\scalebox{1}[0.6]{虎}}} % このコマンドの意味が分からない。習熟する必要あり。要調査。
- 約物関連
- かっこ付き算用数字→ \ajKakko{1}〜 あるいは \UTF{2474}〜。
- ローマ数字(ⅰ, ⅱ, ⅲ ……)→ \ajroman{1}〜。それにかっこがついたもの→ \ajKakkoroman{1}〜。
- 2桁の数字を1文字に組む→\rensuji{99}
- 「︿」(浅いかぎかっこ1)→ \UTF{FE3F}
「﹀」→ \UTF{FE40}
- 「〔」(浅いかぎかっこ2)→このまま使える。
「〕」→このまま使える。
- 二重引用符(")→開く側には「``」と入力する。閉じる側は通常の「"」でOK。
→ひょっとすると、単に全角で「“ ”」と入力すればよいのかも。→wordで打ったものをコピー&ペーストすればよい。
- 全角カンマ→\hspace{0.2zh}\UTF{FF0C}\hspace{-0.2zh}
- 全角ピリオド→\hspace{0.3zh}\raise1.3ex\hbox{.}\hspace{0.0zh}
- 縦書き用コロン:\lower0.3ex\hbox{\rotatebox[origin=c]{90}{:}}
または
\raisebox{-0.13zh}{\rotatebox[origin=c]{90}{:}}\hspace{0.1zh}
- ルビ
- \usepackage{furikana} % おまじない
- \renewcommand{\tiny}{\fontsize{5}{0}\selectfont} % ルビのフォントサイズを5ptに
- 入力→\kana{漢字}{ルビ}
- 長いルビで文字間を空けたいとき→ \quad (全角の空白) あるいは \_ (半角の空白) あるいは \, (少量の空白)
- 画像で入れた外字にルビをふるとき
→外字に直接ルビをふるのでなく、外字のあとに「\kana{ }{ルビ}」(スペースにルビをふったもの)を入れ、\hspace{-1.0zh} などでルビを一字分前に移動させる。
- ダッシュ→定義は \def\――{―\kern-.5zw―\kern-.5zw―}、入力は \—— とする。
- 傍点
- \usepackage{plext}
[注意!]\usepackage{plext} を宣言すると \tabular (表)でエラーが発生する
- 入力→\bou{傍点を打つ文字列}
- 傍点のキャラクタを中黒(・)に変更するとき→プリアンブルに \def\boutenchar{\UTF{002E}}
- 縦書き用白抜き傍点(要otf.sty)→\renewcommand{\boutenchar}{\hbox to 1zh{\tate\hfill\tiny\ajWhiteSesame}}
- くの字点→\unskip\makebox[2zh][l]{\scalebox{2}[.7]{く}}
- 相互参照
- ラベルを設定→ \ref{ラベル名}
- ページ番号を取得→ \pageref{ラベル名}
- 本文の書き方
\begin{document} % ここから本文
\kanjiskip=.1zw plus 3pt minus 3pt % 全角文字の間隔を指定
\xkanjiskip=.2zw plus 3pt minus 3pt % 全角文字と半角文字の間隔を指定
\setcounter{endnote}{0} % 後注のカウンタをリセット
\hspace{12mm} % タイトル上部の余白
{\huge タイトル}
\\ % 通常の改行
\\* % 改行位置での改ページを禁止した改行
\\[10pt] % 行送り10ポイントを指定した上での改行
\hspace{150mm} % 著者上部の余白
{\Large 著者}
\\* % 改行位置での改ページを禁止した改行
*段落先頭の字下げをしたくないとき(jarticle クラスでは 1字下げがデフォルト)→ \parindent=-1zw
*2字下げ引用の先頭を詰めたいとき→ \begin{indentation}{1.5zw}{0pt} と\end{indentation} で囲む。
*改ページしたいとき→ \clearpage
後注を出力
\begingroup
\parindent 0pt
\parskip 0pt
\def\ennotesize{\normalsize}
\theendnotes
\endgroup
本文終了
\end{document}
- 表紙まわり
- 表1
- 表紙にページナンバーは不要。→ \pagestyle{empty} をプリアンブルに入れておく。
- 号数表記画像は次の手順で作る。→「word」で書いて「コピー」→「プレビュー」の「クリップボードから新規作成」。
- \begin{figure} % figure → 図を配置するための環境
\begin{center} % センタリング
\usepackage{overpic} % おまじない
\begin{overpic}[width=20cm, grid]{white.pdf} % 白の背景画像→配置が決まったら grid オプションは取り除くこと
\put(54,52){\includegraphics[scale=.4]{02.pdf}} % 表紙絵を重ねる
\put(2,49){\includegraphics[scale=.24]{03.pdf}} % 誌名ロゴを重ねる
\put(40,52){\includegraphics[scale=.85]{04.pdf}} % 号数表記を重ねる
\end{overpic}
\end{center}
\end{figure}
- 表2
\begin{document}
\kanjiskip=.1zw plus 3pt minus 3pt
\begin{minipage}[t]{.73\textwidth}
\CID{15299}風 第〓号目次\\
(1行空け)
タイトル・著者・ページ
……
\end{minipage}
\begin{minipage}[t]{.26\textwidth}
表紙絵
(改行)
表紙絵説明文
\end{minipage}
- 表3
\documentclass[b5paper,10pt]{tarticle} % B5・11ポイント・縦書き
\AtBeginDvi{\special{papersize=182mm,257mm}}
\setlength{\topmargin}{34mm}
\addtolength{\topmargin}{-1in}
\setlength{\oddsidemargin}{15mm}
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{30mm}
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{194mm}
\setlength{\textheight}{142mm}
\setlength{\headsep}{0mm}
\setlength{\headheight}{0mm}
\setlength{\topskip}{0mm}
\renewcommand{\baselinestretch}{1.1} %行間を1.075倍(1ページ20行)に再定義
\begin{document} %ここから本文
\kanjiskip=.1zw plus 3pt minus 3pt
{\bf 編 集 後 記}
\parindent=-1.1zw %一行目の字下げ幅を指定
\begin{indentation}{1.5zw}{0pt}
*本文
\end{indentation}
\parindent=1.1zw %一行目の字下げ幅を指定
{\bf 会 か ら の お 知 ら せ}
\renewcommand{\baselinestretch}{1.1}\selectfont%行間を1.1倍に再定義
\parindent=-1zw %一行目の字下げ幅を指定
\begin{indentation}{1.5zw}{0pt}
*本文
\end{indentation}
\clearpage
\end{document}
- 表4
\documentclass[b5paper,10pt]{tarticle} % B5・11ポイント・縦書き
\AtBeginDvi{\special{papersize=182mm,257mm}}
\setlength{\topmargin}{3mm}
\addtolength{\topmargin}{-1in}
\setlength{\oddsidemargin}{10mm}
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{28mm}
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{247mm}
\setlength{\textheight}{5mm}
\setlength{\headsep}{0mm}
\setlength{\headheight}{0mm}
\setlength{\topskip}{0mm}
\begin{document} %ここから本文
\kanjiskip=.1zw plus 3pt minus 3pt
「\CID{15299}風」第五十一号二〇一二年一二月三一日発行/編集兼発行 \CID{15299}風の会・宇治市木幡御蔵山/印刷 ㈱中西印刷・京都市上京区下立売通小川東入
\clearpage
\end{document}
- 背表紙
\documentclass[b5paper,10pt]{tarticle} % B5・11ポイント・縦書き
\AtBeginDvi{\special{papersize=182mm,257mm}}
\setlength{\topmargin}{35mm}
\addtolength{\topmargin}{-1in}
\setlength{\oddsidemargin}{22mm}
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{28mm}
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{247mm}
\setlength{\textheight}{132mm}
\setlength{\headsep}{0mm}
\setlength{\headheight}{0mm}
\setlength{\topskip}{0mm}
\begin{document} %ここから本文
\kanjiskip=.1zw plus 3pt minus 3pt
\CID{15299} 風 第五十一号 二〇一二年一二月
\clearpage
\end{document}
[参考] 行位置が揃った段組(渡邉たけし氏のウェブサイトを参照)
- 「n行取り」を実現するマクロ(プリアンブルに入れる)
\ifx\Cht\undefined
\newdimen\Cht\newdimen\Cdp
\setbox0\hbox{\char\jis"2121}\Cht=\ht0\Cdp=\dp0\fi
\catcode`@=11
\long\def\linespace#1#2{\par\noindent
\dimen@=\baselineskip\multiply\dimen@ #1\advance\dimen@-\baselineskip
\advance\dimen@-\Cht\advance\dimen@\Cdp
\setbox0\vbox{\noindent #2}\advance\dimen@\ht0\advance\dimen@-\dp0%
\vtop to\z@{\hbox{\vrule width\z@ height\Cht depth\z@
\raise-.5\dimen@\hbox{\box0}}\vss}%
\dimen@=\baselineskip\multiply\dimen@ #1\advance\dimen@-\baselineskip
\vskip\dimen@}
\catcode`@=12
- 入力例
\linespace{2}{見出し} % 2行取りで「見出し」と表示。
\linespace{3}{\large\bf 見出し1行目 \\ 見出し2行目} % 3行取りで見出しに改行を入れる。
\linespace{3}{\section{節見出し}}
\linespace{12}{\includegraphics[width=\hsize]{hoge.eps}}
\linespace{16}{\begin{tabular} …… \end{tabular}}
[参考] ページの高さと行間の問題(上記渡邊氏のサイトを参照)
TeXには、段落の変わり目を通常の行間より広めにすることで、設定されているページの高さ (\pageheight等) にできるだけ合わせようとする機能がある。この機能 (\parskip) を切っておかないと、行間が一定しない。
\setlength{\parskip}{0pt}
\setlength{\topskip}{\Cht}
\setlength{\textheight}{19\baselineskip}
\addtolength{\textheight}{1zh}
これは1ページに20行ある場合の設定(行が20個と行間が19個)。これは、行送りの値 (\baselineskip) を設定した後で設定する。またTeXは、版面の上端から\topskipだけ下がった所に1行目のベースラインを置くため、上記のように\topskipを文字の高さ (深さを含まない) と一致させることでぴったり詰めて組める。
[参考] 1ページあたりの行数を設定する方法。本文に \linesparpage{20} を入れる。
\makeatletter
\def\mojiparline#1{
\newcounter{mpl}
\setcounter{mpl}{#1}
\@tempdima=\linewidth
\advance\@tempdima by-\value{mpl}zw
\addtocounter{mpl}{-1}
\divide\@tempdima by \value{mpl}
\advance\kanjiskip by\@tempdima
\advance\parindent by\@tempdima
}
\makeatother
\def\linesparpage#1{
\baselineskip=\textheight
\divide\baselineskip by #1
}
「飇風」とは特に関係のないもの
- % 章番号をつけたいとき→ \section{章タイトル}
未整理
部分的に行間を変える。
\documentclass[a4paper,9pt]{jsarticle}
\newenvironment{minilinespace}{
\baselineskip = 3.0mm
}
\begin{document}
\noindent
ほげほげ \\
ほげほげ \\
ほげほげ \\ \\
\begin{minilinespace}
\noindent
ほげほげ ここから行間 3.0mm \\
ほげほげ \\
ほげほげ ここまで行間 3.0mm \\ \\
\end{minilinespace}
\noindent
ほげほげ \\
ほげほげ \\
ほげほげ \\
\end{document}