fdu的说明文档在texlive 2023下能正常编译,但是当我开启代码实现细节部分:
\begin{document}
%^^A! \begin{document}
%^^A!
%<!--CODEDOC--> \DisableImplementation
\EnableImplementation
%<!--CODEDOC--> \def\FDUCODEDOC{}
\DocInput{fduthesis.dtx}
\DocInput{fduthesis-doc.dtx,fduthesis-logo.dtx}
%<!--CODEDOC--> \IndexLayout
%<!--CODEDOC--> \PrintChanges
%<!--CODEDOC--> \PrintIndex
\end{document}
在texlive 2024下编译时,会报错:
! Undefined control sequence.
\__codedoc_print_macroname:nN ..._hyper_target:xN
{\exp_not:n {#1}\bool_if:N...
l.2780 % \l_@@_tmpa_tl,\l_@@_tmpb_tl}
应该是这一部分的问题:
% \begin{macro}{\@@_print_macroname:nN}
% 该函数不再需要根据命令的长短切换字体。
% \begin{macrocode}
\cs_set_protected:Npn \@@_print_macroname:nN #1#2
{
\strut
\@@_get_hyper_target:xN
{
\exp_not:n {#1}
\bool_if:NT #2 { \tl_to_str:n {TF} }
}
\l_@@_tmpa_tl
\cs_if_exist:cTF { r@ \l_@@_tmpa_tl }
{ \exp_args:NNo \label@hyperref [ \l_@@_tmpa_tl ] }
{ \use:n }
{
\tl_set:Nn \l_@@_tmpa_tl {#1}
% \end{macrocode}
% 命令中的空格改用“\textvisiblespace”显示。
% \begin{macrocode}
\tl_replace_all:Non \l_@@_tmpa_tl
{ \c_catcode_other_space_tl }
{ \fontspec_visible_space: }
\@@_macroname_prefix:o \l_@@_tmpa_tl
\@@_macroname_suffix:N #2
}
}
% \end{macrocode}
% \end{macro}
我尝试过将\@@_get_hyper_target:xN修改为\@@_get_hyper_target:eN,但是其余部分\tl_replace_all:Non和\@@_macroname_prefix:o依然会报类似的错误。
请问如何解决呀?
fdu的说明文档在texlive 2023下能正常编译,但是当我开启代码实现细节部分:在texlive 2024下编译时,会报错:
应该是这一部分的问题:
我尝试过将
\@@_get_hyper_target:xN修改为\@@_get_hyper_target:eN,但是其余部分\tl_replace_all:Non和\@@_macroname_prefix:o依然会报类似的错误。请问如何解决呀?