由于某些我无法理解的原因,似乎我不能同时使用该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
请联系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