我正在尝试创建自己的类,并提供引用选项。简短的引文完全没问题,但当涉及到较长的引文时,出于某种原因,我得到了错误。
论文.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.
输出为
答案1
我通过改变解决了上述问题
\RenewDocumentCommand{\quote}
到
\NewDocumentCommand{\cquote}
我认为 csquotes 在后台某处使用了 \quote,因此我重新定义它会破坏一些东西。