实际宣传单版本已过时

实际宣传单版本已过时

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 startinsertion 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 配合使用效果非常好。非常感谢这些优秀工具的维护者。

相关内容