私は、LaTeX で 2 つの PDF ドキュメントを重ねて、各レイヤーの不透明度を制御するプロジェクトに取り組んでいます。具体的には、1 ページに 2 つの PDF ページを含め、各 PDF の表示範囲を調整したいと考えています。基本的な LaTeX コマンドは理解していますが、このようなことはこれまで行ったことがありません。
これを実現する方法を教えていただけませんか? 不透明度を調整して PDF をオーバーレイできる LaTeX の特定のパッケージまたはコマンドはありますか? 同様のプロジェクトへのサンプル コードや参照があれば、大変助かります。
答え1
多少不透明な塗りつぶされた四角形を PDF 上に重ねるヒント。
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\geometry{a4paper}
\geometry{landscape}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node(img){\includegraphics[width=0.48\textwidth]{imagePDF.pdf}};
\draw[fill=yellow,opacity=0.2] (img.north east) rectangle (img.south west);
\end{tikzpicture}
\begin{tikzpicture}
\node(img){\includegraphics[width=0.48\textwidth]{imagePDF.pdf}};
\draw[fill=yellow,opacity=0.8] (img.north east) rectangle (img.south west);
\end{tikzpicture}
\end{document}
答え2
次のpdflatex
例では を使用していますTikZ
。3 つの図がさまざまな透明度で重ねられています。(1) 左端の図は完全に不透明で描画され、元の図がどのように見えるかを示しています。(2) 右の図はアルファ値 0.75 で重ねられていますが、元の図の各オブジェクトが個別に半透明になるようにしています。(3) 最後に、3 番目の図は透明度グループ内に配置され、全体が半透明になっています。PDF ドキュメントを重ねる場合は、後者を使用するのが一般的です。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node (N1) at (0,0) {\includegraphics{figure.pdf}};
\node[opacity=.75] (N2) at (3cm,0) {\includegraphics{figure.pdf}};
\begin{scope}[transparency group, opacity=.75]
\node (N3) at (1.5 cm,-3cm) {\includegraphics{figure.pdf}};
\end{scope}
\end{tikzpicture}
\end{document}
説明
opacity
描画コマンドに与えられたTiKZのキーは、現在のアルファストローク操作 (線の描画など) とその他のペイント操作 (領域の塗りつぶしやビットマップ画像のペイントなど) の両方の値。その値は 1.0 (不透明、デフォルト) から 0.0 (透明) の範囲です。
右の図 (2 番目の包含、ノード N2) では、すべての線または領域が、図の他の部分を隠そうとするものであっても、半透明の色で描画または塗りつぶされています (デザイナーはクリッピングではなくカバーを使用することが多い)。以下の例を参照してください。右側の文字 B がある青い四角形は、下にある点線の赤い円 (12 時から 3 時の間の円弧) を覆っておらず、文字 A の下の「非表示のテキスト」も表示されています。また、含まれている PDF で既に透明度が使用されている場合は、設定が上書きされ、不透明度が元のファイルで指定された値にリセットされます。これは通常、望ましいことではありません。
下の図(3番目の包含、ノードN3)は、いわゆる透明性グループscope
。これは本質的に、オプションと不透明度値を持つ環境ですtransparency group
。図は最初に通常どおりに描画され、次に全体が半透明になります。したがって、文字 A の下の「非表示のテキスト」は表示されず、青い四角形が赤い弧を正しく隠します。文字 B の下の赤い弧は、2 番目の包含 (6 時から 7 時の間の弧) から生じます。これは通常必要なことです。おそらく、包含する PDF の両方を別々の透明度グループに配置する必要があります。 の代わりに、透明度グループ内で オプションopacity
を試すこともできますblend mode=multiply
。これにより、包含する PDF イメージが白い背景で着色されることなく混合されます。
上記の例では、サンプル入力はfigure.pdf
次のコードによって生成されます。
%%% This is figure.tex.
\documentclass{article}
\usepackage[papersize={45mm,45mm}]{geometry}
\usepackage{tikz}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
\node[scale=2, anchor=north, align=center] (C) at (current page) {Hidden\\text};
\node[circle, draw, line width=10pt, color=red, loosely dotted, fill=green!20,
scale=6] (A) at (current page) {A};
\node[draw, line width=12pt, color=blue!50!black, fill=white, anchor=north east,
scale=4, outer sep=1.5pt] (B) at (current page.north east) {B};
\end{tikzpicture}
\end{document}