chapterを使用したい + articleのデフォルトのようにタイトル, chapterをページ分けしないような文書を作成したいと, jreport.clsの"\clearpage" を全て削除したclsファイルを作成したのですが, 上手くいきません. よろしくお願いします.
(1) タイトルページをなくす
jreport.cls には notitlepage オプションがあります。
(2) \chapter の改ページ抑制
jreport.cls の446-451 ページ \chapter の定義に
\newcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{jpl@in}%
\global\@topnum\z@
\@afterindenttrue
\secdef\@chapter\@schapter}
とあります。
この \clearpage をやめさせればいいわけですが、直接 jreport.cls を書き換えるのは良くないです。
(TeX をアップデートしたら上書きされる & TeX ソースを持ち運ぶと別環境で同じ作業が必要 etc.)
よって、お使いの LaTeX ソースのプリアンブルで再定義します。
----------
\documentclass[notitlepage]{jreport}
%%%%% ここから下を入れてください
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\fi
\thispagestyle{jpl@in}%
\global\@topnum\z@
\@afterindenttrue
\secdef\@chapter\@schapter}
\makeatother
%%%%% ここまで
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-5]
\chapter{ここが第二章}
\lipsum*[1-5]
\chapter{ここが第三章}
\lipsum*[1-5]
\end{document}
----------
これで \chapter の改ページを抑制、かつタイトルページをなくすことができます。
jreport.cls には notitlepage オプションがあります。
(2) \chapter の改ページ抑制
jreport.cls の446-451 ページ \chapter の定義に
\newcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{jpl@in}%
\global\@topnum\z@
\@afterindenttrue
\secdef\@chapter\@schapter}
とあります。
この \clearpage をやめさせればいいわけですが、直接 jreport.cls を書き換えるのは良くないです。
(TeX をアップデートしたら上書きされる & TeX ソースを持ち運ぶと別環境で同じ作業が必要 etc.)
よって、お使いの LaTeX ソースのプリアンブルで再定義します。
----------
\documentclass[notitlepage]{jreport}
%%%%% ここから下を入れてください
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\fi
\thispagestyle{jpl@in}%
\global\@topnum\z@
\@afterindenttrue
\secdef\@chapter\@schapter}
\makeatother
%%%%% ここまで
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-5]
\chapter{ここが第二章}
\lipsum*[1-5]
\chapter{ここが第三章}
\lipsum*[1-5]
\end{document}
----------
これで \chapter の改ページを抑制、かつタイトルページをなくすことができます。
% 質問への回答に関係あるようなないような…
jreport.cls は JIS フォントメトリックでないので、似たことができるとウワサの
jsbook.cls の report オプションで同じハックをしようとしたのですが…
jsbook.cls の1147-1154行目
\newcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
\secdef
{\@omit@numberfalse\@chapter}%
{\@omit@numbertrue\@schapter}}
を参考に書き換えると
----------
\documentclass[report]{jsbook}
%%%%% ここから下がハック
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
\secdef
{\@omit@numberfalse\@chapter}%
{\@omit@numbertrue\@schapter}}
\makeatother
%%%%% ここまで
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-4]
\chapter{ここが第二章}
\lipsum*[1-4]
\chapter{ここが第三章}
\lipsum*[1-4]
\end{document}
----------
このソースを処理すると、「第2章」「第3章」が直前のテキストから改行されず、しかも
最後の章にいたっては行間隔が変になります。一方、上のソースで本文を
----------
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-4]
\chapter{ここが第二章}
\lipsum*[1-4]
\chapter{ここが第三章}
\lipsum*[1-4]
\end{document}
----------
と書くと解消します。原因がわかる方、いらっしゃいますでしょうか?
jreport.cls は JIS フォントメトリックでないので、似たことができるとウワサの
jsbook.cls の report オプションで同じハックをしようとしたのですが…
jsbook.cls の1147-1154行目
\newcommand{\chapter}{%
\if@openright\cleardoublepage\else\clearpage\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
\secdef
{\@omit@numberfalse\@chapter}%
{\@omit@numbertrue\@schapter}}
を参考に書き換えると
----------
\documentclass[report]{jsbook}
%%%%% ここから下がハック
\makeatletter
\renewcommand{\chapter}{%
\if@openright\cleardoublepage\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
\secdef
{\@omit@numberfalse\@chapter}%
{\@omit@numbertrue\@schapter}}
\makeatother
%%%%% ここまで
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-4]
\chapter{ここが第二章}
\lipsum*[1-4]
\chapter{ここが第三章}
\lipsum*[1-4]
\end{document}
----------
このソースを処理すると、「第2章」「第3章」が直前のテキストから改行されず、しかも
最後の章にいたっては行間隔が変になります。一方、上のソースで本文を
----------
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-4]
\chapter{ここが第二章}
\lipsum*[1-4]
\chapter{ここが第三章}
\lipsum*[1-4]
\end{document}
----------
と書くと解消します。原因がわかる方、いらっしゃいますでしょうか?
\@makechapterhead の冒頭が,jreport.cls は \vskip2\Cvs になっているのですが,
jsbook.cls では \vspace*{2\Cvs} になっているので,これを \vskip2\Cvs に変えてみると
うまくいきました.
\documentclass[report]{jsbook}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\else\clearpage}{}{}{}
\patchcmd{\@makechapterhead}{\vspace*{2\Cvs}}{\vskip2\Cvs}{}{}
\makeatother
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-3]
\chapter{ここが第二章}
\lipsum*[1-3]
\chapter{ここが第三章}
\lipsum*[1-3]
\end{document}
\vspace と \vskip の違いは,私も把握できていなかったのですが,
http://tex.stackexchange.com/questions/30062/vspace-vs-vskip
あたりが参考になるのではないでしょうか.
jsbook.cls では \vspace*{2\Cvs} になっているので,これを \vskip2\Cvs に変えてみると
うまくいきました.
\documentclass[report]{jsbook}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\chapter}{\else\clearpage}{}{}{}
\patchcmd{\@makechapterhead}{\vspace*{2\Cvs}}{\vskip2\Cvs}{}{}
\makeatother
\usepackage{lipsum} % ダミーテキストのため
\title{タイトル}
\author{著者}
\begin{document}
\maketitle
\chapter{ここが第一章}
\lipsum*[1-3]
\chapter{ここが第二章}
\lipsum*[1-3]
\chapter{ここが第三章}
\lipsum*[1-3]
\end{document}
\vspace と \vskip の違いは,私も把握できていなかったのですが,
http://tex.stackexchange.com/questions/30062/vspace-vs-vskip
あたりが参考になるのではないでしょうか.