Estou trabalhando em um projeto onde preciso sobrepor dois documentos PDF em LaTeX e controlar a opacidade de cada camada. Especificamente, quero incluir duas páginas PDF em uma única página e ajustar o quanto de cada PDF fica visível. Estou familiarizado com os comandos básicos do LaTeX, mas nunca fiz nada parecido antes.
Alguém poderia me orientar sobre como conseguir isso? Existem pacotes ou comandos específicos no LaTeX que podem sobrepor PDFs com configurações de opacidade ajustáveis? Quaisquer códigos de exemplo ou referências a projetos semelhantes seriam muito apreciados.
Responder1
Uma dica sobrepondo um retângulo preenchido mais ou menos opaco no 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}
Responder2
O pdflatex
exemplo a seguir usa TikZ
. Três figuras são sobrepostas com várias transparências: (1) A figura mais à esquerda é desenhada totalmente opaca e mostra como deveria ser a figura original. (2) A figura da direita é sobreposta com um valor alfa de 0,75, mas de forma que cada objeto da figura original se torne translúcido de forma independente. (3) Finalmente, a terceira figura é colocada dentro de um grupo de transparência e tornada translúcida como um todo. Muito provavelmente você deseja usar o último ao sobrepor seus documentos 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}
Explicação
A opacity
chave no TiKZ dada a um comando de desenho define oalfa atualvalor para operações de traçado (como desenhar uma linha) e outras operações de pintura (como preencher áreas ou pintar uma imagem bitmap). Seu valor está entre 1,0 (opaco, padrão) e 0,0 (transparente).
Na figura da direita (a segunda inclusão, nó N2), cada linha ou área é traçada ou preenchida com cores translúcidas, mesmo aquelas que pretendem obscurecer outras partes da figura (e os designers costumam usar cobertura em vez de recorte). Veja o exemplo abaixo: o quadrado azul com a letra B à direita não cobre o círculo vermelho pontilhado subjacente (o arco entre 12 horas e 3 horas), e o "Texto oculto" abaixo da letra A também é revelado. Além disso, se o PDF incluído já usasse transparência, ele substituiria nossas configurações e redefiniria a opacidade para qualquer valor fornecido no arquivo original. Geralmente não é isso que se deseja.
A figura inferior (a terceira inclusão, nó N3) é colocada dentro de um chamadogrupo de transparência. É essencialmente um scope
ambiente com a opção transparency group
e um valor de opacidade. A figura é primeiro pintada normalmente e depois tornada translúcida como um todo. Assim, o “Texto oculto” sob a letra A não é revelado e o quadrado azul oculta corretamente o arco vermelho. O arco vermelho abaixo da letra B vem da segunda inclusão (o arco entre 6 e 7 horas). Isso é o que geralmente se deseja. Provavelmente, você deseja colocar os dois PDFs incluídos em grupos de transparência separados. Em vez de opacity
, você também pode tentar a blend mode=multiply
opção dentro do grupo de transparência. Isso irá misturar as imagens PDF incluídas sem matizá-las com o fundo branco.
No exemplo acima, a entrada de amostra figure.pdf
é gerada pelo seguinte código:
%%% 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}