マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

BXjscls の新しいやつ(v1.2a)

以前の記事で触れられているように、また新しくなっている。

重要なお知らせ

bxjsbook クラスについては、近い将来にページレイアウトの大きな変更が行われる。以下の記事を読んで必要な対策を取ってほしい。

layout オプション
  • layout=v2 : jsbook クラスと同様のページレイアウトを用いる。
  • layout=v1 : 1.2 版以前のページレイアウトを用いる。

textwidth-limit オプション

  • textwidth-limit=<整数> : bxjsbook における行長の上限値(全角単位)を指定する。既定値は 40。

詳細は以下の記事を参照されたい。

fancyhdr パッケージ対策

jsbook で fancyhdr するとアレ

先の記事で述べられているように、jsbook/bxjsbook クラスには「ヘッダ・フッタ領域の横幅」を表す \fullwidth という独自のレイアウトパラメタが存在する。fancygdr パッケージを利用してヘッダ・フッタ(((bx)jsbook クラスにおいては、既定のページスタイルがフッタを全く用いないため、ページレイアウトはフッタ領域を無しにしている。そのため、bxjsbook クラスでフッタを用いたい場合はページレイアウトを変更(\setpagelayout)する必要がある。))書式を変更しようとする場合、fancyhdr は当然この \fullwidth についての知識を持たないため、“既定のヘッダ(headings ページスタイル)と同じ感じ”には出力されない。

例えば次のように、jsbook クラスで fancyhdr を利用したとする。

% upLaTeX 文書; 文字コードは UTF-8
\documentclass[uplatex,a4paper]{jsbook}
% 例えば, ページ番号を, 前に巻番号を付けて "42-3" のように
% するために, fancyhdr を利用したとする.
\usepackage{fancyhdr}
\pagestyle{fancy}
\newcounter{Volume}
\setcounter{Volume}{42}% 巻番号
\fancyhf{}
\fancyhead[LE,RO]{\itshape\theVolume-{\bfseries\thepage}}
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter\quad#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\quad#1}}

\usepackage{bxjalipsum}
\begin{document}
\chapter{吾輩はアレである}
\section{希望はまだ無い}
\jalipsum[1-10]{wagahai}
\end{document}

この文書の出力結果は以下のようになる。ヘッダ・フッタ領域の左右マージンが本文領域と同じになってしまっている。

※(bx)jsbook の既定のレイアウトがどんな感じなのかは、例の記事に解説がある。

bxjsbook の場合はコレ

v1.2a 以降の BXJS クラスでは、fancyhdr パッケージが読み込まれた場合に、fancy ページスタイルの初期設定において、「ヘッダ・フッタ領域について、横幅を \fullwidth に合わせた上で(headings スタイルと同様に)本文領域よりも小口側(外側)に突き出させる」という設定を行う。これにより、ヘッダ・フッタの配置が“既定のページスタイル(headings)と同様の見た目”になる。

% upLaTeX 文書; 文字コードは UTF-8
\documentclass[uplatex,dvipdfmx,a4paper,ja=standard,layout=v2]{jsbook}
% 例えば, ページ番号を, 前に巻番号を付けて "42-3" のように
% するために, fancyhdr を利用したとする.
\usepackage{fancyhdr}
%(あとは先の例と同じ)

※BXJS クラスが自動的に fancyhdr パッケージを読み込むことはない。

fancyhdr オプション

先述の fancyhdr 対策は既定で有効になっている。オプションで無効化することができる。

  • fancyhdr=true : fancyhdr 対策を有効にする。
  • fancyhdr=false : fancyhdr 対策を無効にする。

paragraph-mark オプション

  • paragraph-mark=<文字1つ> : パラグラフ(\paragraph)の見出しの記号(既定では“■”)を変更する。

コレはスゴイ……たぶん。