为什么在这个例子中,LuaLaTeX 生成的文件比 pdfLaTeX 生成的文件更小?

为什么在这个例子中,LuaLaTeX 生成的文件比 pdfLaTeX 生成的文件更小?

我正在发现 LuaLaTeX...

我希望从我的tex来源生成尽可能小的 pdf 文件。

如果我用编译以下代码LuaLaTeX,则生成的大小pdf为 9 kB。

\documentclass{article}
\usepackage{titlesec}
\usepackage{titling}
\usepackage{fontspec}
% Specify different font for section headings
\newfontfamily\headingfont[]{Gill Sans}
\titleformat*{\section}{\LARGE\headingfont}
\titleformat*{\subsection}{\Large\headingfont}
\titleformat*{\subsubsection}{\large\headingfont}
\renewcommand{\maketitlehooka}{\headingfont}
\author{An author}
\title{The title of the article}
\date{\today}
\begin{document}
\maketitle
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}

LaTeX如果我使用不同的字体编译相同的代码,则生成的文件大小为 49 kB。我猜差异不是来自LaTeXou LuaLaTeX,而是来自字体。类似于:“我的系统比默认字体pdf更了解该字体”。Gill SansLaTeX

\documentclass{article}
\usepackage{titlesec}
\usepackage{titling}
%\usepackage{fontspec}
%% Specify different font for section headings
%\newfontfamily\headingfont[]{Gill Sans}
%\titleformat*{\section}{\LARGE\headingfont}
%\titleformat*{\subsection}{\Large\headingfont}
%\titleformat*{\subsubsection}{\large\headingfont}
%\renewcommand{\maketitlehooka}{\headingfont}
\author{An author}
\title{The title of the article}
\date{\today}
\begin{document}
\maketitle
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}

有人可以证实这一点吗?如果想要制作非常轻量的文件,是否有规则可以借鉴?


附言:如果我使用相同的字体,我会得到相同的尺寸!

PPS:奇怪的是,如果我应用生成的文件ghostscript,大小会变大(从 9 kB 到 12 kB !)。 生成的文件:从 49 kB 到 13 kB。pdfLuaLaTexLaTex

PPPS:以我天真的理解方式,使用自定义字体Gill Sans通常会比使用标准字体产生更大的文件。

答案1

我大量使用 Linux Libertine,每个用 pdfLaTeX 制作的 PDF 大小都有几百 KB。pdfTeX(据我所知称为 pdfLaTeX)将字体嵌入 PDF,但不会压缩它们。

有一款很棒的工具pdfsizeopt,名为 ,由 Peter Szabo 编写并发布在 Google Code 上。它对 PDF 中的字体进行了高度压缩;我的通常压缩倍数为 10!

嗯,不幸的是,这个页面http://pdfsizeopt.googlecode.com/因涉嫌版权问题而被撤下。新主页在这里: https://github.com/pts/pdfsizeopt(谢谢你,乔达诺)。在那里,你会发现 Szabo 发表的一篇关于压缩到非常详细程度。

简而言之:LuaLaTeX 和 PDFLaTeX 之间的区别似乎在于嵌入字体的方式,即使用的压缩。

因此,根据这些疯狂的法律,你最好不要使用 googlecode 发布你的代码。

相关内容