Chemmacros エラー: 「追加の配置タブが \cr... に変更されました」

Chemmacros エラー: 「追加の配置タブが \cr... に変更されました」

chemmacros をロードすると、次のエラー メッセージが表示されます (理解できません...)。

! Extra alignment tab has been changed to \cr.
<template> ...egin \relax \d@llarend \endtemplate 
                                                  
l.62 \end{document}
                   
You have given more \span or & marks than there were
in the preamble to the \halign or \valign now in progress.
So I'll assume that you meant to type \cr instead.

非常に簡略化されたテスト ドキュメントです。これは、ロードしない場合でも機能し{chemmacros}、PDF 内のすべてのパッケージなどを印刷するだけです。

\documentclass{scrreprt}
\usepackage{xparse}
\usepackage{etoolbox}
\usepackage{longtable}
\usepackage{calc}
\usepackage{array}
\usepackage{booktabs}
\usepackage{seqsplit}
%\usepackage{chemmacros}
\listfiles%

\AtEndDocument{\printfilelist}%
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}%
\ExplSyntaxOn%
\NewDocumentCommand{\printfilelist}{}{%
    \setlength{\LTleft}{\fill}%
    \setlength{\LTright}{\fill}%
    \begin{longtable}{@{}%
            >{\ttfamily}%
            L{0.3\textwidth-\tabcolsep}%
            L{\widthof{9999/99/99}}%
            >{\raggedright}%
            p{0.7\textwidth-\widthof{9999/99/99}-3\tabcolsep}%
            @{}}%
        \toprule%
        \multicolumn{1}{@{}l}{\bfseries File~name} & \multicolumn{1}{c}{\bfseries Date} & \bfseries File~info%
        \tabularnewline%
        \midrule%
        \endhead%
        \bottomrule%
        \endfoot%
        \Holou_print_filelist:%
    \end{longtable}%
}%
\tl_new:N \l_filelist_body_tl%
\tl_new:N \l_fileinfo_tl%
\cs_new_protected:Npn \Holou_print_filelist: {%
    \clist_map_inline:cn {@filelist}{%
        \Holou_print_fileinfo:n {##1}%
    }%
    \tl_use:N \l_filelist_body_tl%
}%
\cs_new_protected:Npn \Holou_print_fileinfo:n #1 {%
    \regex_match:nnT { \.(sty|cls|tex|clo|fd|cfg|bbx|cbx|lbx|ldf|def|hak)\Z } {#1}{%
        \Holou_print_pkginfo:n {#1}%
    }%
}%
\cs_new_protected:Npn \Holou_print_pkginfo:n #1 {%
    \tl_set_eq:Nc \l_fileinfo_tl {ver@#1}%
    \tl_replace_once:Nnn \l_fileinfo_tl {~} {&}%
    \tl_put_right:Nx \l_filelist_body_tl {%
        \exp_not:N \seqsplit{#1}%
        &%
        \exp_not:V \l_fileinfo_tl%
        \exp_not:N \tabularnewline%
    }%
}%
\ExplSyntaxOff%

\begin{document}
    
\end{document}

{chemmacros}コードが何をするのかを確認したい人のために、なしの図を以下に示します。ここに画像の説明を入力してください

さて、私の質問は、なぜロードしても動作しないのかということです{chemmacros}。何か間違ったことをしたのでしょうか? :D

解決方法 (編集): 問題は chemmacros ファイル情報内の & 記号でした。これを、\tl_replace_all:Nnn \l_fileinfo_tl {&} {-}日付の後の最初の ~ 記号を置き換えて自分で & 記号を追加する前に、たとえば次のように置き換えました。ありがとう、Ulrike。<3

答え1

コメントで既に説明したように、&のファイル情報で が発生しますchemmacros。この問題は、ファイル情報を文字列化することで回避できます。

交換する

\tl_set_eq:Nc \l_fileinfo_tl {ver@#1}

による

\tl_set:Nx \l_fileinfo_tl { \tl_to_str:c {ver@#1} }

たとえば、コードは動作します…

ここに画像の説明を入力してください

関連情報