Ghostscript rompe le ombre di TikZ?

Aug 30 2020

Uso fantasiose ombre TikZ nel mio pdflatexdocumento, funziona bene. Tuttavia, se elaboro il documento PDF con ghostscript (o il suo ps2pdffrontend), le ombre si rompono. L'elaborazione ha lo scopo di ridurre le dimensioni del documento a causa di molte immagini, riconosco che è un problema non correlato.

Ecco i dettagli. Il MWE:

\documentclass[border=1cm]{standalone}

\usepackage{tikz}
\usetikzlibrary{fit}
\usetikzlibrary{through}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{shadows}
\usetikzlibrary{shadings}
%% even fancier shadows
\usetikzlibrary{shadows.blur}
%% fade
\usetikzlibrary{fadings}

\begin{document}
\begin{tikzpicture}[align=center,node distance = 1.2em and 1.2em,  
  rounded corners=10, blur shadow={shadow blur steps=50}]
  
  \tikzstyle{block} = [rectangle, fill=blue!10, draw, text width=6em,
  text centered, minimum height=2.1\baselineskip,
  blur shadow={shadow blur steps=50}
  ]

  \node (t) [block] {Test};
\end{tikzpicture}
\end{document}

Il documento originale dopo latexmk -pdf mwe:

Ora chiamo gs:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.7  -dPDFSETTINGS=/printer -dColorImageDownsampleType=/Bicubic -dColorImageResolution=72 -dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=72 -dMonoImageResolution=150 -dOptimize=true -q -o small-gs.pdf mwe.pdf

Il risultato è:

Posso anche chiamare ps2pdf: ps2pdf mwe.pdf small-2pdf.pdf, il risultato è lo stesso. (Non c'è da stupirsi, è un frontend per gs.)

Versioni:

$ pdflatex --version pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020) kpathsea version 6.3.2 Copyright 2020 Han The Thanh (pdfTeX) et al. There is NO warranty. Redistribution of this software is covered by the terms of both the pdfTeX copyright and the Lesser GNU General Public License. For more information about these matters, see the file named COPYING and the pdfTeX source. Primary author of pdfTeX: Han The Thanh (pdfTeX) et al. Compiled with libpng 1.6.37; using libpng 1.6.37 Compiled with zlib 1.2.11; using zlib 1.2.11 Compiled with xpdf version 4.02 $ gs --version
9.52

Verificato su MacOS 10.15.6 e su un sistema di build su GitLab ( texlive-latest, immagine Ubuntu). Visualizzo i PDF in Preview.app.

Che cosa sto facendo di sbagliato? (A parte l'utilizzo di Anteprima, ovviamente.)

Come mantenere una compatibilità più ampia dei miei file PDF?

Risposte

6 AlexG Aug 31 2020 at 01:36

Supporto delle dissolvenze (trasparenza non uniforme) perdvips + ps2pdfè stato aggiunto pgfmolto di recente ed è disponibile solo nel suo repository GitHub . Per il test, scaricahttps://github.com/pgf-tikz/pgf/archive/master.zipe copia iltex cartella in essa contenuta nella directory di lavoro. Inoltre, Ghostscript-9.52 è necessario e ps2pdfdeve essere eseguito con l'opzione -dALLOWPSTRANSPARENCY.

1 OlegLobachev Aug 31 2020 at 02:52

Una versione PDF inferiore aiuta, ps2pdf13 mwe.pdf test-pdf13.pdffunziona come previsto con il rendering delle ombre. La dimensione è un altro problema...