leaflet 文档明确提到了 TeX、pdfTeX 和 VTeX;文档(例如 TeXLive2016 中包含的 leaflet-manual.tex)无法与 lualatex 正确编译。能否将 leaflet 与 lualatex 一起使用?我宁愿避免在我的盒子上安装 pdflatex 的 otf 字体和样式文件,但确实需要 leporello/flyer。
更奇怪的是,我的文件在 TeXLive2015 下使用 lualatex 编译成功,但在 TeXLive2016 下却失败了:下面的最小示例不是完整的 leporello,而是只有两列文本,而不是均匀分布在两张 A4 纸上的六列。很奇怪,不是吗?
以下是一个例子:
\documentclass{leaflet}
\usepackage{lipsum}
\begin{document}
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
答案1
实际宣传单版本已过时
这个答案已经过时了,因为实际传单1.1b(2017-03-17)加拿大运输安全局。
请更新您的传单以便与 luaLaTeX 一起使用。
旧答案
我找到了一个在 TeXlive 2016 中将 leaflet.cls 与 lualatex 一起使用的补丁。
低于 MWE。
它重新定义了leaflet.cls(版本v1.1a)的一部分,我的修改标记insertion start
为insertion end
\documentclass[english]{leaflet}
\makeatletter
\@ifundefined{Gin@driver}{}%
{%
\ifx\Gin@driver\@empty\else%
\filename@parse{\Gin@driver}\@tempswafalse%
\def\reserved@a{dvips}%
\ifx\filename@base\reserved@a\@tempswatrue\fi%
\def\reserved@a{dvipdfm}%
\ifx\filename@base\reserved@a\@tempswatrue\fi%
\if@tempswa
\ClassInfo{leaflet}{Generating code for dvips}%
\def\LL@pagesize@specials#1#2{%
\@tempdima=#1\@tempdimb=#2%
\AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}}%
\fi
\def\reserved@a{pdftex}%
\ifx\filename@base\reserved@a
\ClassInfo{leaflet}{Generating code for pdfTeX}%
\def\LL@pagesize@specials#1#2{%
\@tempdima=#1\@tempdimb=#2%
\pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
\fi
\def\reserved@a{xetex}%
\ifx\filename@base\reserved@a
\ClassInfo{leaflet}{Generating code for XeTeX}%
\def\LL@pagesize@specials#1#2{%
\@tempdima=#1\@tempdimb=#2%
\pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
\fi
%% insertion start %%%%%%%%%
\def\reserved@a{luatex}%
\ifx\filename@base\reserved@a
\RequirePackage{luatex85}
\ClassInfo{leaflet}{Generating code for LuaTeX}%
\def\LL@pagesize@specials#1#2{%
\@tempdima=#1\@tempdimb=#2%
\pdfpagewidth\@tempdima\pdfpageheight\@tempdimb}%
\fi
%% insertion end %%%%%%%%%
\def\reserved@a{vtex}%
\ifx\filename@base\reserved@a
\ClassInfo{leaflet}{Generating code for VTeX}%
\def\LL@pagesize@specials#1#2{%
\@tempdima=#1\@tempdimb=#2%
\mediawidth\@tempdima\mediaheight\@tempdimb}%
\fi
\fi
}
\makeatother
%%And here follows your code
\usepackage{lipsum}
\begin{document}
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
它在我的安装中起作用,但我真的不知道我做了什么:)
leaflet.cls 的作者已获悉此补丁,并且传单包装已更新。
答案2
使用当前版本的 leaflet,它与 lualatex 配合使用效果非常好。非常感谢这些优秀工具的维护者。