xparse 中缺少 \endcsname

xparse 中缺少 \endcsname

我正在尝试创建自己的类,并提供引用选项。简短的引文完全没问题,但当涉及到较长的引文时,出于某种原因,我得到了错误。

论文.tex:

\documentclass[bib]{CallymArticle}

\usepackage{lipsum}

\begin{document}
\quote{blah blah short}{CreationUnderCapitalism}
\quote{\lipsum[3]}{CreationUnderCapitalism}
\end{document}

CallymArticle.cls:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{CallymArticle}

\LoadClass[12pt,a4paper,british]{article}
\RequirePackage{etoolbox}
\RequirePackage{xparse}

\newcommand{\setOption}[1]{\newtoggle{#1}\DeclareOption{#1}{\settoggle{#1}{true}}}

\setOption{bib}

\ProcessOptions\relax

% font stuff
\RequirePackage[british]{babel}

% quoting
\RequirePackage{csquotes}
\iftoggle{bib}{
    \RequirePackage[notes,backend=biber]{biblatex-chicago}
    \addbibresource{refs.bib}
    \SetCiteCommand{\autocite}
    \RenewDocumentCommand{\quote}{+m g}{\blockcquote{#2}{#1}}
}{
    \RenewDocumentCommand{\quote}{+m g}{\blockquote{#1}}
}
\endinput

我正在尝试这样做,以便我可以编写像 \quote{text}{optional citation} 这样的引文,其格式可以在有或没有 bib 选项的情况下使用,这需要我重新排序 \blockcquote 的参数。

我收到这些错误,全部在第 7 行。

Missing \endcsname inserted.
Package etoolbox Error: Toggle '\endgraf' undefined.
Missing \endcsname inserted.
Package etoolbox Error: Toggle '\textquoteright \let \textquoteleft \textquot.
Missing } inserted.

输出为

输出 pdf

答案1

我通过改变解决了上述问题

\RenewDocumentCommand{\quote}

\NewDocumentCommand{\cquote}

我认为 csquotes 在后台某处使用了 \quote,因此我重新定义它会破坏一些东西。

相关内容