编译多个表时发生冲突

编译多个表时发生冲突

对于下面显示的 MWE(我使用的是 Lualatex + Biblatex),编译会因错误而退出(TeX 容量超出,抱歉 [输入堆栈大小=5000])。但是,编译仅在以下两种情况之一中运行:

  • 将每个表单独编译在单独的文件中。
  • 从第二张表的标题中删除“FOOTCITE”并将其放置在外面。

我想知道这是否是序言设置中的问题或者我遗漏了什么。


\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry} 
%=================================================================================================
%Graphics - pictures - symbols
%=================================================================================================
\usepackage[breakable,skins]{tcolorbox} 
\usepackage{caption}
\usepackage{subcaption} 
%==================================================================================================
%CROSS-Referencing
%==================================================================================================
\usepackage{tocbibind} 
\usepackage[multiple]{footmisc} 
\usepackage{footnoterange} 
\usepackage[%
  hidelinks,
  hyperindex,
  colorlinks=true,
  breaklinks,
  allcolors=blue]{hyperref} 

\usepackage{bookmark}
%===================================================================================================
%Tabular Environment
%===================================================================================================
\usepackage{tabu} 
\usepackage{array}
\newcolumntype{?}[1]{!{\vrule width #1}} 
\usepackage{booktabs}
%======================================================================================================
%Babel Package Settings%
%======================================================================================================
\usepackage{filecontents}

\begin{filecontents}{babel-cop.ini}
[identification]
charset = utf8
version = 0.1
date = 2019-08-25
name.local = ϯⲙⲉⲧⲣⲉⲙⲛ̀ⲭⲏⲙⲓ
name.english = Coptic
name.babel = coptic
tag.bcp47 = cop
tag.opentype = COP
script.name = Coptic
script.tag.bcp47 = Copt
script.tag.opentype = copt
level = 1
encodings = 
derivate = no
[captions]
[date.gregorian]
[date.islamic]
[time.gregorian]
[typography]
[characters]
[numbers]
[counters]
\end{filecontents}

\usepackage[bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=cop]{coptic}

\babelfont{rm}{Latin Modern Roman}
\babelfont[arabic]{rm}{Simplified Arabic}
\babelfont[english]{rm}{Times New Roman}
\babelfont[coptic]{rm}[Language=Default]{FreeSerifAvvaShenouda}
\babelcharproperty{980000}[990000]{direction}{al} 
%=============================================================
%BIBLIOGRAPHY SETTINGS%
%=============================================================
\begin{filecontents}{arabic.lbx}
\ProvidesFile{arabic.lbx}
\InheritBibliographyExtras{english}

\DeclareBibliographyStrings{%
  inherit          = {english},
  and              = {{و}{و}},
  page             = {{صفحة}{صفحة}},
  pages            = {{صفحات}{صفحة}},
  references       = {{مراجع}{مراجع}},
  seenote          = {{انظر الملاحظة}{انظر الملاحظة}},
  bibliography   =  {{المصادر}{المصادر}},
}
\end{filecontents}

\usepackage{csquotes}
\DeclareQuoteStyle{arabic}
  {\guillemotleft}
  {\guillemotright}
  {\textquotedblright}
  {\textquotedblleft}

\usepackage[%
  language=auto,
  autolang=other,
  citestyle=verbose-note,
  bibstyle=authortitle,
  doi=false,
  isbn=false]{biblatex} 

\usepackage{footnote} 
\makesavenoteenv{figure}
\makesavenoteenv{table}

%So as to have commas between consecutive \footcite command, declare after bibaltex package so as to see the command
\usepackage{fnpct}
\AdaptNoteOpt\footcite\multfootcite
\setfnpct{punct-after=true,mult-fn-sep =،} % you can use the 


\begin{document} 
\chapter{العلامات باللغة القبطية}
\subsection{العلامات القبطية الاصلية}
\begin{table}[htbp]
\setlength\arrayrulewidth{1pt}
\begin{center}
\caption
[
أمثلة لكلمات تبدأ تبدأ بحروف ساكنة وتم إضافة حرف متحرك III ببدايتها أو علامة الچنكم XXII ببدايتها
لتسهيل النطق]
{
أمثلة لكلمات تبدأ تبدأ بحروف ساكنة III وتم إضافة حرف متحرك III ببدايتها أو علامة الچنكم XXII ببدايتها
لتسهيل النطق
\begin{footnoterange}
\footcite{Baramosy1888}
\footcite{Tattam2013} 
\footcite{Pachomius1966}
\footcite{Pachomius1969}
\footcite{Pachomius1970}
\footcite{Pachomius1971}
\end{footnoterange}
}
\label{tab:أمثلةالچنكم حروف ساكنة}
\begin{tabular}{?{1mm}c|>{\centering\arraybackslash}m{4cm}|>{\centering\arraybackslash}m{4cm}|c?{1mm}}
\toprule[1mm]
\textbf{ 
 الكلمة
} 
&
\textbf{
الكلمة بعد أضافة علامة الچنكم XXII في بدايتها
}
&
\textbf{
الكلمة بعد أضافة حرف متحرك III في بدايتها
}
& 
\textbf{
المعنى
}
\\
\midrule[1.25pt]
\foreignlanguage{coptic}{ϩⲕⲟ} &\foreignlanguage{coptic}{ϩ̀ⲕⲟ} &\foreignlanguage{coptic}{ⲉϩⲕⲟ} &يجوع
\\
\midrule[1.25pt]
\foreignlanguage{coptic}{ⲛⲕⲟⲧ} &\foreignlanguage{coptic}{ⲛ̀ⲕⲟⲧ} &\foreignlanguage{coptic}{ⲉ̅ⲛⲕⲟⲧ} & ينام
\\
\bottomrule[1mm] 
\end{tabular}
\end{center}
\end{table}
\begin{table}[htbp]
\setlength\arrayrulewidth{1pt}
\begin{center}
\caption
[
أمثلة لكلمات تبدأ بالحرف
\foreignlanguage{coptic}{("ⲉ"} 
وتبعه أحد الحروف
\foreignlanguage{coptic}{(ⲛ - ⲙ)}  
في اللهجة الصعيدية والبحيرية
]
{
أمثلة لكلمات تبدأ بالحرف
\foreignlanguage{coptic}{(" ⲉ ")} 
وتبعه أحد الحروف
\foreignlanguage{coptic}{(ⲛ - ⲙ)}  
في اللهجة الصعيدية والبحيرية
\footcite{Youseff1992}
}
\label{tab:أمثلةالچنكم حروف متحركة}
\rowcolors{2}{white}{gray!25}
\begin{tabular}{?{1mm}c|>{\centering\arraybackslash}m{4cm}|>{\centering\arraybackslash}m{4cm}|c?{1mm}}
\toprule[1mm]
\rowcolor{white}
\textbf{ 
 الكلمة
} 
&
\textbf{
الكلمة البحيرى II
بالچنكم
}
&
\textbf{
الكلمة الصعيدى II
بالچنكم
}
& 
\textbf{
المعنى
}
\\
\midrule[1.25pt]
\foreignlanguage{coptic}{ⲉⲙⲕⲁϩ} &\foreignlanguage{coptic}{ⲙ̀ⲕⲁϩ} &\foreignlanguage{coptic}{ⲙ̅ⲕⲁϩ} &ألَم
\\
\midrule[1.25pt]
\foreignlanguage{coptic}{ⲉⲛⲕⲟⲧ} &\foreignlanguage{coptic}{ⲛ̀ⲕⲟⲧ} &\foreignlanguage{coptic}{ⲉ̅ⲛⲕⲟⲧ} & ينام
\\
\midrule[1.25pt]
\foreignlanguage{coptic}{ⲉⲛϩⲟⲧ} &\foreignlanguage{coptic}{ⲛ̀ϩⲟⲧ} &\foreignlanguage{coptic}{ⲛ̅ϩⲟⲧ} & أمين . مخلص
\\
\bottomrule[1mm] 
\end{tabular}
\end{center}
\end{table}
\end{document}

答案1

就在你收到堆栈溢出消息之前

LaTeX3 Warning: The command '\rmfamily' was undefined but not the associated
(LaTeX3)        commands '\rmfamily code' and/or '\rmfamily defaults'. Maybe
(LaTeX3)        you tried using \let. This may lead to an infinite loop.

所以我怀疑你的

  \babelfont{rm}{Latin Modern Roman}

命令导致循环,这不是真正的答案,我会将其标记为 cw,只是将指针放到目前为止......

(我用我已有的字体替换了您的字体,实际的字体不会产生错误)


实际上,该错误与字体无关,可以使用 luatex 或 pdftex 中的这个示例重现该错误

\documentclass{book}
\usepackage{caption}
\usepackage{footnoterange}
\usepackage[]{biblatex}



\begin{document}
\begin{table}[htbp]
\caption
[a]{\begin{footnoterange}
\footcite{Baramosy1888}
\end{footnoterange}
}
\end{table}
\begin{table}[htbp]
\caption
[a]
{a\footcite{Youseff1992}}
\end{table}
\end{document}

相关内容