与 currfile 和 doclicense 冲突导致 !TeX 容量超出,抱歉

与 currfile 和 doclicense 冲突导致 !TeX 容量超出,抱歉
\documentclass[12pt,a4paper,UTF8,scheme = plain]{ctexart}
%%% 28 April 2022
%%%%% packages
\usepackage{amsmath,amsfonts,amssymb}
\usepackage[export]{adjustbox} % uses graphicx
\graphicspath{{./figs/}}
\usepackage{enumerate}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\usepackage{multicol,multirow}
\usepackage{subcaption}
\usepackage{tasks}
%% font
\renewcommand{\familydefault}{\sfdefault} %% changes font to sans-serif
\usepackage[top=2cm,bottom=2cm,left=1cm,right=1cm]{geometry}
%%%%%% floor function
\usepackage{mathtools}
%%% License
\usepackage[type= {CC},modifier= {by-nc-nd},version= {4.0}]{doclicense}
%% filename and path
\usepackage{currfile}
%% fancy header and footers
\usepackage{fancyhdr}
\usepackage{totpages}
%% SUPER IMPORTANT
\usepackage[flushleft]{paralist}[2013/06/09]
%%      -    QR    -     %%
\usepackage{qrcode}
\usepackage{background}
%%background - go to back%%
\makeatletter
\def\AM@AddToShipoutPicture{\AddToShipoutPictureFG*}
\makeatother
%% hyper ref
\usepackage{hyperref}
\pdfsuppressptexinfo=-1 %% noinfo
\begin{document}
\begin{align}
    \frac{y}{2a-x} & = \frac{2\frac{y}{x+a}}{1-\frac{y^2}{(x+a)^2}} \\
    \frac{1}{2a-x} & = \frac{ 2(x+a) }{ (x+a)^2- y^2 } \\
    2(x+a)(2a-x)   & = (x+a)^2- y^2 \\
        y^2        & = (x+a)^2- 2(x+a)(2a-x) \\
        y^2        & = (x+a) \left( x+a - 4a +2x \right) \\
        y^2        & = (x+a) \left( 3x - 3a \right)  \\
        y^2        & = 3(x+a) (x-a)  \\
        y^2        & = 3(x^2-a^2)
\end{align}
\end{document}

大约一个月前曾经工作过,然后就停止了。

答案1

这是 kvoptions 中的一个非常严重的错误hyperxmp。附加其代码的hyperxmp补丁(\ProcessKeyvalOptions这是不应该的),并且只要以下两个包尝试使用此命令设置其键,它就会循环。您的问题也可以在 texlive 2021 中重现,使用

\documentclass{article}

\usepackage{hyperxmp}

\ProcessKeyvalOptions*\relax %first package

\ProcessKeyvalOptions*\relax %second package

\begin{document}
a
\end{document}

您的示例在更新后循环,因为 hyperref 现在更早地加载 nameref,因此您的设置中出现了除 currfile 之外的第二个包。您现在能做的最好的事情就是晚点加载 doclicense 并希望获得最好的结果。

答案2

正如@hair-splitter 所评论的,该问题似乎是由包currfile和引起的doclicense

在这种情况下,只需切换顺序就能解决我的问题。

\documentclass[12pt,a4paper,UTF8,scheme = plain]{ctexart}
%%% 28 April 2022
%%%%% packages
\usepackage{amsmath,amsfonts,amssymb}
%% \usepackage{currfile} % works
\usepackage[type= {CC},modifier= {by-nc-nd},version= {4.0}]{doclicense}
\usepackage{currfile} % does not work
\begin{document}
\begin{align}
    \frac{y}{2a-x} & = \frac{2\frac{y}{x+a}}{1-\frac{y^2}{(x+a)^2}} \\
    \frac{1}{2a-x} & = \frac{ 2(x+a) }{ (x+a)^2- y^2 } \\
    2(x+a)(2a-x)   & = (x+a)^2- y^2 \\
        y^2        & = (x+a)^2- 2(x+a)(2a-x) \\
        y^2        & = (x+a) \left( x+a - 4a +2x \right) \\
        y^2        & = (x+a) \left( 3x - 3a \right)  \\
        y^2        & = 3(x+a) (x-a)  \\
        y^2        & = 3(x^2-a^2)
\end{align}
\end{document}

相关内容