我有以下一段代码:
% command: pdflatex --jobname=try-f1 try.tex
\documentclass[12pt]{book}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}
\pgfrealjobname{try}
\begin{document}
\beginpgfgraphicnamed{try-f1}%
\begin{tikzpicture}
\pgfplotsset{minor grid style={color=black!20,line width=0.25pt},major grid style={color=black!30,line width=0.35pt}}
\begin{semilogyaxis}[grid=both,enlargelimits=false,scale only axis,width=6.5cm,height=4.5cm,tick style={draw=none},xticklabels={},yticklabels={},axis background/.style={fill=black!3}]
\addplot[solid] coordinates{600 points coded as (0.028,6.28386e-005) for instance}
\end{semilogyaxis}
\end{tikzpicture}
\endpgfgraphicnamed
\end{document}
tex 源文件作为文本文件的大小为 12ko,压缩后为 4 ko,而最终的 pdf 为 8ko。这一切都是预料之中的吗?我以为最终的 pdf 会比压缩文件小。
答案1
有宏可以控制 pdf 的压缩级别。我手头没有参考资料,但我相信宏(用于 pdflatex)是\pdfcompresslevel=<integer>
。如果(或类似的东西)可以存档进一步的压缩\pdfminorversion=5
,因为特定的 pdf 版本不仅引入了流数据压缩,还引入了 pdf 对象定义的压缩。pgfplots 手册(doc/latex/pgfplots/pgfplots.tex)在某处有这些宏。\pdfcompresslevel=0
应该会导致完全未压缩的 pdf。
顺便说一句:pdf 在内部使用 zip 来压缩其数据 - 尤其是数据流。只有当您(明确)包含 jpg 图像(或 png 的重新量化)时才会应用有损压缩。