(/localhost/texlive/2011/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/localhost/texlive/2011/texmf-dist/tex/generic/oberdiek/se-ascii-print.def)
(./TikZ-commands.tex)
(/localhost/texlive/2011/texmf-dist/tex/latex/biblatex/lbx/australian.lbx
(/localhost/texlive/2011/texmf-dist/tex/latex/biblatex/lbx/british.lbx
(/localhost/texlive/2011/texmf-dist/tex/latex/biblatex/lbx/english.lbx)))
! Package biblatex Error: Patching 'tabularx' failed.
See the biblatex package documentation for explanation. Type H <return> for immediate help. ...
l.251 \begin{document}
? H This is an internal issue typically caused by a conflict between biblatex and some other package. Modifying the package loading order may fix the problem. ?
memoir
当我使用XeLaTeX 下的类和许多包编译书籍手稿时,出现上述错误消息。
如果我继续,我就能编译该文档,但希望消除导致此错误的原因。
我没有明确使用该tabularx
包但确实使用longtable
。
我可以提供更多细节,但目前还不能给出一个最小示例。我使用的是今天更新的 TeXLive 2011,版本biblatex.sty
是
$Id: biblatex.sty,v 1.6 2011/07/29 19:21:28 lehman stable $ programmable bibliographies
编辑:抱歉最初没有包括 MWE;这里是:
\documentclass{memoir}
\usepackage{fontspec}
\usepackage[backend=biber,babel=none,language=australian,sorting=none,style=numeric-comp,hyperref=auto]{biblatex}
\usepackage{hyperref}
\begin{document}
This is a minimal working example for the bug reported at \url{http://tex.stackexchange.com/questions/30148/biblatex-and-tabular-patching-error-message}.
\end{document}
我收到与上面报告相同的错误消息。
答案1
问题在于biblatex
和 的最新版本 6.82i之间不兼容hyperref
。默认情况下(即hyperfootnotes
启用 选项),hyperref
将重新定义tabularx
/memoir
宏\TX@endtabularx
。这反过来会导致biblatex
相同宏的重新定义失败并产生观察到的错误消息。作为解决方法,请hyperref
使用 选项加载hyperfootnotes=false
。
\documentclass{memoir}
\usepackage{fontspec}
\usepackage[backend=biber,babel=none,language=australian,sorting=none,style=numeric-comp,hyperref=auto]{biblatex}
\usepackage[hyperfootnotes=false]{hyperref}
\begin{document}
This is a minimal working example for the bug reported at \url{http://tex.stackexchange.com/questions/30148/biblatex-and-tabular-patching-error-message}.
\end{document}
hyperref
更新:此行为已在6.82j/ 1.7中修复biblatex
。