diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2023-08-27 10:54:59 -0700 |
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2023-08-29 09:23:50 -0700 |
| commit | 353177f9e7eadd60d66846325abd537b85fd46bb (patch) | |
| tree | 07ffbf78b3f670e83c462ea1d8d8d9abac74578b /data/templates/default.latex | |
| parent | 9d28e6029f71f769756ee6d121822de5b0f2aed6 (diff) | |
Use `\cite` and `\bibitem` to link up citations, even with citeproc.
See #9031 and discussion in #9020. This will give us better
accessibility; when tagging is enabled, the citation can be
linked to the bibliography entry.
This changes some of the details of the layout and the default
template. We now make CSLReferences a special enumitem list
that will contain `\bibitem`s.
Internal links inside citations to ids beginning in `ref-` are
put inside a `\cite` instead of `\hyperref`.
Closes #9031.
Diffstat (limited to 'data/templates/default.latex')
| -rw-r--r-- | data/templates/default.latex | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/data/templates/default.latex b/data/templates/default.latex index e2cfce1f1..c177c00e8 100644 --- a/data/templates/default.latex +++ b/data/templates/default.latex @@ -335,24 +335,28 @@ $if(pagestyle)$ \pagestyle{$pagestyle$} $endif$ $if(csl-refs)$ +% definitions for citeproc citations +\NewDocumentCommand\citeproctext{}{} +\NewDocumentCommand\citeproc{mm}{% + \begingroup\def\citeproctext{#2}\cite{#1}\endgroup} +% avoid brackets around text for \cite: +\makeatletter + \def\@biblabel#1{} + \def\@cite#1#2{{#1\if@tempswa , #2\fi}} +\makeatother \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} - }% - {} +\newlength{\cslentryspacing} +\setlength{\cslentryspacing}{0em} +\usepackage{enumitem} +\newlist{CSLReferences}{itemize}{1} +\setlist[CSLReferences]{label={}, + leftmargin=\cslhangindent, + itemindent=-1\cslhangindent, + parsep=\parskip, + itemsep=\cslentryspacing} \usepackage{calc} \newcommand{\CSLBlock}[1]{#1\hfill\break} \newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}} |
