发票和壁纸包一起使用时出现问题

发票和壁纸包一起使用时出现问题

由于某些我无法理解的原因,似乎我不能同时使用该invoice包和该包。wallpaper

这是我的 MWE:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{wallpaper}
\usepackage{invoice}

\begin{document}
Just a test
\end{document}

这是我运行后得到的输出pdflatex

在此处输入图片描述

如果我打开记录文件,会发现其中有些内容似乎与问题有关:

(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
文件:epstopdf-sys.cfg 2010/07/13 v1.3 TeX Liv 的 (r)epstopdf 配置
(五))
段落第 184-92 行的 \hbox 过满(宽 15.31238pt)
[]\OT1/cmr/m/n/10 [2007/09/09] [2010/03/01] [2010/12/02] [2010/09/13]
 [2007/11/11] [2007/09/09] [2007/09/09]

我还尝试以不同的顺序加载包,如下所示:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8x]{inputenc}
\usepackage{invoice}
\usepackage{wallpaper}


\begin{document}
Just a test
\end{document}

在这种情况下pdflatex会出现一条错误消息,抱怨\begin{document}缺少wallpaper.sty

(/usr/share/texlive/texmf-dist/tex/latex/wallpaper/wallpaper.sty

!LaTeX 错误:缺少 \begin{document}。

请参阅 LaTeX 手册或 LaTeX Companion 了解解释。输入 H 可立即获得帮助。...

                                               l.24 \NeedsTeXFormat{LaTeX2e}[
                          1995/06/01]

如果我只使用其中一个包,文档就会按预期呈现。

这是我的两个问题:

  1. 为什么会发生这种情况?
  2. 我该如何修复它?

答案1

请联系invoice作者。他正在fp通过\input{fp}而不是加载\RequirePackage{fp}。如果我将那行改成 ,invoice.sty它似乎可以正常工作。

答案2

解决这个问题的一个小办法是使用 时使\input{fp}​​其符合。这里有一种方法(使用 pdfTeX 的):\RequirePackage{fp}\usepackage{invoice}\pdfstrcmp

\let\oldinput\input% Save \input
\renewcommand{\input}[1]{%
  \ifnum\pdfstrcmp{#1}{fp}=0
    \RequirePackage{fp}% Specifically when finding \input{fp}
  \else
    \oldinput{#1}% If not \input{fp}
  \fi
}
\usepackage{invoice}% http://ctan.org/pkg/invoice
\let\input\oldinput% Restore \input

相关内容