1

I've created three commands for biblatex-dw to typeset \recto \verso and \rectoverso references.

If one of these commands is followed by a full stop or comma the horizontal spacing between the superscript and the full stop/coma is to wide in my opinion.

To compensate for this I've tried to use @ifnextchar for the \recto command which works as standalone command, but not within the postnote parameter of the different biblatex cite commands.

I think the @ifnextchar is't working, because biblatex-dw does a lot of rearrangements of e.g. the postnote itself and by inserting e.g. final full stops in the footnotes. Any ideas how to get the desired effect?

\documentclass {scrbook} 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[french,english,ngerman]{babel}
\usepackage{microtype}
\usepackage[backend=biber,style=footnote-dw]{biblatex}

\makeatletter
\newcommand{\recto}{%
  \mkbibsuperscript{r}%
  \@ifnextchar.%
    {\kern-.06em}%
    {}%
}
\newcommand{\verso}{\mkbibsuperscript{v}}
\newcommand{\rectoverso}{\mkbibsuperscript{r--v}}
\DeclareRangeCommands*{\recto\verso\rectoverso}
\makeatother

\begin{filecontents*}{MWE.bib}
@Collection{Test,
    editor = {Cornelisse, J. W.},
    title = {Rocket Propulsion and Spaceflight Dynamics},
    year = {1979},
        gender  = {sm},
    publisher = {Pitman}
}
\end{filecontents*}


\bibliography{MWE.bib}

\begin{document}
Test 50\recto. <-- This works

Test 50\recto, <-- To see the effect between the full stop kerning and the not affected comma

Test \fullcite[][50\recto]{Test}. <-- This leads to 5 errors. The final full stop in the footnote should be moved nearer to the superscripted r

Test\footnote{Some remarks. \fullcite[][50\recto]{Test}.} <-- This leads to 5 errors. The final full stop in the footnote should be moved nearer to the superscripted r

Test\footnote{Some remarks. \fullcite[][50\recto]{Test} and \fullcite[][55\recto]{Test}.} <-- This leads to 10 errors. The final full stop in the footnote should be moved nearer to the superscripted r, but the word 'and' shouldn't be affected
\end{document}
  • I haven't yet found out what exactly causes the errors, but I doubt this is going to work. biblatex's \cite... commands introduce a lot of grouping and other invisible house- and bookkeeping which could interfere with \@ifnextchar and indeed even the simple Test {50\recto}. breaks, so I doubt this approach is going to work with biblatex. – moewe Jan 2 at 12:11
  • Mostly for the link: tex.stackexchange.com/q/150747/35864 contains help on how to make biblatex accept \recto and \verso as valid page numbers. – moewe Jan 2 at 12:19
  • @Moewe Just an abstract idea without knowing how to get this to work: The \autocite command must have a scan ahead functionality to look for punctuation marks and moves a footnote after these marks. Maybe it's possible to reuse the code from there and do the next char test in the postnote bibmacro and exclude the test from the recto command? – user2653422 Jan 2 at 12:30
  • Ya the punctuation scanning might be able to help here, since then at least we could check the following punctuation mark. But I have the feeling that this is still going to be very tricky especially because the final period in the footnote produced by \footcite is not punctuation that follows the cite command. – moewe Jan 2 at 12:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.