Open tsiayigong opened 3 months ago
fdu的说明文档在texlive 2023下能正常编译,但是当我开启代码实现细节部分:
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依然会报类似的错误。
\@@_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
依然会报类似的错误。请问如何解决呀?