You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have lots of custom pandoc templates for handling different types of documents and in each I have manually added the control sequences for handling CSL references appropriately with citeproc which is pretty straight forward. After a recent change in citeproc I was getting the inexplicable error when compiling documents Undefined Control Sequence \citeproctext.
It took me a little while to discover that the CSL references block for pandoc templates has changed (see #9031) which was a little hard to find. CSL references were handled by:
$if(csl-refs)$\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newlength{\cslentryspacingunit} % times entry-spacing\setlength{\cslentryspacingunit}{\parskip}
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
{% don't indent paragraphs\setlength{\parindent}{0pt}
% turn on hanging indent if param 1 is 1\ifodd #1
\let\oldpar\par\def\par{\hangindent=\cslhangindent\oldpar}
\fi% set entry spacing\setlength{\parskip}{#2\cslentryspacingunit}
}%
{}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
and should be replaced by:
$if(csl-refs)$% definitions for citeproc citations\NewDocumentCommand\citeproctext{}{}
\NewDocumentCommand\citeproc{mm}{%\begingroup\def\citeproctext{#2}\cite{#1}\endgroup}
\makeatletter% allow citations to break across lines\let\@cite@ofmt\@firstofone% avoid brackets around text for \cite:\def\@biblabel#1{}
\def\@cite#1#2{{#1\if@tempswa , #2\fi}}
\makeatother\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newenvironment{CSLReferences}[2] % #1 hanging-indent, #2 entry-spacing
{\begin{list}{}{%\setlength{\itemindent}{0pt}
\setlength{\leftmargin}{0pt}
\setlength{\parsep}{0pt}
% turn on hanging indent if param 1 is 1\ifodd #1
\setlength{\leftmargin}{\cslhangindent}
\setlength{\itemindent}{-1\cslhangindent}
\fi% set entry spacing\setlength{\itemsep}{#2\baselineskip}}}
{\end{list}}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{\hfill\break#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{\strut#1\strut}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{\strut#1\strut}}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
I figured that my workflow with pandoc templates is not particularly esoteric and that others were likely to run into this problem and that I would create an issue for others to find a solution to this problem. For a more full understanding of how csl-references are handled in a pandoc template reference the default.latex template in the pandoc-templates repo.
The text was updated successfully, but these errors were encountered:
I have lots of custom pandoc templates for handling different types of documents and in each I have manually added the control sequences for handling CSL references appropriately with
citeproc
which is pretty straight forward. After a recent change inciteproc
I was getting the inexplicable error when compiling documentsUndefined Control Sequence \citeproctext
.It took me a little while to discover that the CSL references block for pandoc templates has changed (see #9031) which was a little hard to find. CSL references were handled by:
and should be replaced by:
I figured that my workflow with pandoc templates is not particularly esoteric and that others were likely to run into this problem and that I would create an issue for others to find a solution to this problem. For a more full understanding of how csl-references are handled in a pandoc template reference the
default.latex
template in thepandoc-templates
repo.The text was updated successfully, but these errors were encountered: