サンプル : 同じ本文でタテヨコ両方のファイルを出力する
やりたいこと
- 縦書き/横書き 両方の PDF を出力したい
- しかし、本文を二重管理したくないので、外部ファイルが include できれば良いのだが
前提知識と方針
- 外部ファイルの差し込みは
\input{..}で可能- 例:
doc-body.texを差し込むなら\input{doc-body}
- 例:
- 縦書きにするには
jlreqクラスのオプションtateを指定する- 例:
\documentclass[a4paper,11pt,tate]{jlreq}
- 例:
- ついでに、共通のマクロも
\input{..}で読み込むこととする
最終的な構成
だいぶスッキリする。本文を分離したので、書くことに集中しやすい作りとなった。
| # | ファイル名 | 内容 |
|---|---|---|
| 1 | doc-yoko.tex | 向きを設定したあとは #3, #4 を読み込むだけ。最初に作ったら、基本は触らない |
| 2 | doc-tate.tex | 向きを設定したあとは #3, #4 を読み込むだけ。最初に作ったら、基本は触らない |
| 3 | doc-common.tex | 必要に応じ (共通のマクロなどがあれば) 作成。マクロを追加/変更しない限り触らない |
| 4 | doc-body.tex | 本文。以降はここだけ編集すれば良い |
Step1. 役割毎に分割した構成で、ファイルを用意(まずヨコ書きから)
1-1. ヨコ書き用ファイル
doc-yoko.tex
\documentclass[a4paper,11pt]{jlreq} % 和文(jlreq) で 横書き(デフォルト)
\input{doc-common} % 共通のマクロ
\begin{document}
\input{doc-body} % 本文
\end{document}
1-2. 共通のマクロ
- 画像の埋め込みがタテヨコで違ってしまうので、マクロにして差分を吸収することにした
- つまり、後述のタテ用 tex ファイルでこのマクロを上書きする
doc-common.tex
% 画像の埋め込み用
\usepackage{graphicx}
\newcommand{\Image}[2]{%
\begin{figure}[htbp]
\centering
\includegraphics[width=0.8\linewidth]{#1}%
\caption{#2}%
\end{figure}%
}
1-3. 本文
doc-body.tex
\section{何々についての資料}
\subsection{特徴}
\begin{itemize}
\item 特徴1
\item 特徴2
\item 特徴3
\end{itemize}
\Image{test1.png}{イメージ図}
何々についての説明
1-4. PDF 生成(ヨコ書き)
bash
lualatex -output-directory=output doc-yoko.tex
→ doc-yoko.pdf が作成されればOK
Step2. タテ書き対応
2-1. タテ書き用ファイル
ヨコ書き用との差は次の 2 点だけ:
- 先頭の documentclass でオプション
tateを指定 - 画像は回転されてしまうので、画像埋め込み用のマクロを上書き
doc-tate.tex
\documentclass[a4paper,11pt,tate]{jlreq} % 縦書きオプション付き
\input{doc-common}
% スクショ用マクロ上書き (縦書き対応で90度回転させる)
\renewcommand{\Image}[2]{%
\begin{figure}[htbp]
\centering
\rotatebox{90}{%
\includegraphics[width=0.8\textheight]{#1}%
}%
\caption{#2}%
\end{figure}%
}
\begin{document}
\input{doc-body}
\end{document}
2-2. PDF 生成(タテ書き)
bash
lualatex -output-directory=output doc-tate.tex
→ doc-tate.pdf が作成 されればOK