背景(eso-pic)

ページの「背景」――本文の下に敷く全面の色や画像、斜めに走る「DRAFT」のような透かし、隅に押す日付スタンプ――をどう入れるかを扱います。土台になるのは eso-pic パッケージで、各ページの定位置に絵を置く低水準の道具立てを提供します。その上に、宣言的に透かしを作る background パッケージ、文字透かし専用の draftwatermark、全面の地色を塗る \pagecolor などが乗っています。

eso-pic ――背景の土台

eso-pic の発想は単純です。LaTeX が 1 ページを出力(シップアウト)する直前に、ページと同じ大きさの透明な picture 環境を 1 枚重ね、そこへ好きな絵を \put で置く――これを毎ページ繰り返します。背景に置く中心の命令が **\AddToShipoutPictureBG{...} で、引数の絵が 以降のすべてのページ の背景(本文の下)に描かれます。現在のページだけに限定したいときは星付きの \AddToShipoutPictureBG*{...}** を使います。

本文の (前面)に重ねたいなら **\AddToShipoutPictureFG{...}**(および現ページ限定の \AddToShipoutPictureFG*)を使います。「すかし」を本文より前に出してわざと読みにくくする、といった用途向きです。互換のため \AddToShipoutPicture\AddToShipoutPicture* という別名もあり、これらは背景版(BG)と同じ働きをします。一度仕掛けた背景を途中で消すには \ClearShipoutPictureBG(前面側は \ClearShipoutPictureFG)を呼びます。

位置決めの鍵は 座標の原点がページの左下隅 にあること(既定)。\put(x,y){...} の座標はそこから測り、長さの単位は \unitlength(既定では 1 pt)で決まります。原点を毎回数えるのは面倒なので、eso-pic は補助命令を用意しています。**\AtPageCenter{...}(ページ中央)、\AtPageLowerLeft{...}**(左下)、\AtPageUpperLeft(左上)に加え、本文領域を基準にする \AtTextCenter / \AtTextLowerLeft / \AtTextUpperLeft などです。なお texcoord オプションを付けると原点が左上隅に移ります。

実際の背景はたいてい \includegraphicstikzpicture\put の中に入れて作ります。次は、写真をページいっぱい(全面・裁ち落とし)に敷く最小例です。

document.tex
\documentclass{article}
\usepackage{eso-pic}
\usepackage{graphicx}

% 全ページの背景に画像を全面表示
\AddToShipoutPictureBG{%
  \AtPageLowerLeft{%
    \includegraphics[width=\paperwidth,height=\paperheight]{background.jpg}}%
}

\begin{document}
Text sits on top of the full-page background.
\end{document}

TikZ と組み合わせると、画像なしで地紋や図形の背景を描けます。tikzpicture\AtPageCenter に置けば、ページ中央を原点にした座標で自由に描画できます。位置決めの目安に、eso-pic\usepackage[grid]{eso-pic} のように grid オプション付きで読み込むと、ページ全面に座標のマス目が引かれて便利です(単位は gridunit、既定で mm)。

document.tex
\documentclass{article}
\usepackage{eso-pic}
\usepackage{tikz}

% TikZ でページ中央に淡い円の背景を描く
\AddToShipoutPictureBG{%
  \AtPageCenter{%
    \begin{tikzpicture}
      \fill[blue!8] (0,0) circle (6cm);
    \end{tikzpicture}}%
}

\begin{document}
A soft tinted disc sits behind the text on every page.
\end{document}

background ――宣言的に透かしを

\put の座標計算をしたくない、もっと手軽に斜めの透かしを置きたい――そんなときは background パッケージが便利です。TikZ を使って背景素材を扱い、設定はすべて **\backgroundsetup{キー=値, ...}** に集約されます。何も指定せず \usepackage{background} と読み込むだけで、既定として赤系(red!45)の大きな「Draft」が全ページの中央を斜め(角度 60 度)に横切ります。

主なキーは次のとおり。contents=(表示する中身。文字でも \includegraphics でも図でも可)、scale=(拡大率)、opacity=(不透明度、0〜1)、angle=(角度。反時計回り、−360〜360)、color=(色。xcolor の全色域)、position=(位置。TikZ のノード配置構文。例 current page.center。座標を渡すときは括弧で囲まない)、placement=centertopbottom)、pages=allsome)、firstpage=(最初のページのみ)。\backgroundsetup はプリアンブルでも本文中でも、必要なだけ何度でも呼べます(途中でデザインを切り替えられる)。

次は、全ページに半透明の「DRAFT」を斜めに敷く典型例です。

document.tex
\documentclass{article}
\usepackage{background}

\backgroundsetup{
  contents={DRAFT},
  scale=8,
  opacity=0.3,
  angle=45,
  color=red,
  position=current page.center,
}

\begin{document}
Every page carries a diagonal DRAFT watermark.
\end{document}

一部のページだけに出したいときは pages=some を指定し、出したいページで \BgThispage を呼びます。逆に \NoBgThispage でそのページだけ背景を止められます。注意点が二つ。位置を正しく確定させるには 2 回コンパイル が必要です。また contents= に LaTeX 命令を含む素材を入れる場合は、パッケージオプションではなく \backgroundsetup 側で指定してください(オプション解析の都合)。なお background は二段組とは相性が悪く、\BgThispage 系は使えません。

もっと手軽な透かし――draftwatermark ほか

文字の透かしだけでよければ、専用の draftwatermark がさらに簡単です。\usepackage{draftwatermark} と読み込むだけで、全ページ中央に大きな灰色の「DRAFT」が出ます。PostScript の特殊命令を一切使わないため、pdfLaTeX・XeLaTeX・LuaLaTeX のどれでも 同じように動くのが強みです。設定は \DraftwatermarkOptions{キー=値} に集約され、text=(文字)、color=(色)、scale=(倍率)、angle=(角度、既定 45 度)、fontsize=(フォントサイズ)、firstpageonly(最初のページのみ)などを指定できます。

document.tex
\documentclass{article}
\usepackage{draftwatermark}

\DraftwatermarkOptions{text=CONFIDENTIAL, color={[gray]{0.85}}, angle=45}

\begin{document}
A light gray CONFIDENTIAL watermark appears behind the text.
\end{document}

旧来の命令 **\SetWatermarkText{...}\SetWatermarkScale{...}**・\SetWatermarkColor{...}\SetWatermarkAngle{...}\SetWatermarkLightness{...}(0〜1、黒〜白)も互換のため使えますが、新規の文書では \DraftwatermarkOptions のキー=値が推奨です。ひとつ仕様上の注意として、draftwatermark は文字を本文の 下(背景)に敷く だけで、本文の上に押す(前面のスタンプ)ことはできません。前面へ重ねたい・重ね順を細かく制御したい場合は、eso-pic\AddToShipoutPictureFG を使うか、scrlayer/LaTeX のシップアウトフックに頼ります。

背景が「色」や「画像」で足りる場面なら、専用パッケージより素朴な手が向くこともあります。**\pagecolor{色}** はそれ以降のページ全面に地色を塗ります(色の指定方法は色のページを参照)。\nopagecolor で元に戻せます。画像を敷きたいときの wallpaper パッケージ(eso-pic ベース)は、\CenterWallPaper{倍率}{ファイル} で中央に、\TileWallPaper{幅}{高さ}{ファイル} でタイル状に画像を並べ、四隅用の \ULCornerWallPaper などもあります。下の表で使い分けを整理します。

手段向いている用途前面に出せる?
eso-pic任意の絵を定位置に。最も自由(土台)BG/FG 両対応
background宣言的な斜め透かし。角度・不透明度を簡単指定placement で調整可
draftwatermark文字透かし(DRAFT 等)を最短で。全エンジン対応背景のみ(不可)
\pagecolor全面の地色(フラットな単色)該当せず
wallpaper中央配置・タイル状の画像背景背景のみ

どれを選ぶか・つまずきどころ

  • 斜めの文字透かしだけdraftwatermark(最短)か background(角度・不透明度を細かく)。
  • 全面の画像・地紋・凝った図eso-pic(必要なら tikzpicture\includegraphics\put に)。
  • 本文の上に重ねたい(スタンプ)eso-pic\AddToShipoutPictureFGdraftwatermark は背景専用で不可。
  • ただの地色\pagecolor。パッケージは不要。
  • 位置がずれる/出ないbackground は 2 回コンパイル。透かしが薄すぎ・濃すぎなら opacityscale を調整。
  • 日本語(pLaTeX/upLaTeX + dvipdfmx) → いずれも動作するが、color・不透明度・画像の取り込みはドライバ依存。eso-picdvips オプションも持つ。

迷ったら、まず一番素朴な手から試すのが近道です。地色なら \pagecolor、文字透かしなら draftwatermark、宣言的に整えたいなら background、そして「思いどおりにならない」ところまで来たら eso-pic に降りて \put で直接置く――この順で十分にカバーできます。