I am using AMSRefs to format my references, and I've noticed that the space between the last full stop and the subsequent review entry is usually absent. Here's an MCVE:
\documentclass{amsart}
\usepackage{amsrefs}
\begin{document}
\begin{bibdiv}
\begin{biblist}
\bib{art1}{article}{
author={First Author},
author={Second Author},
title={Title of the paper},
journal={Journal of interesting results},
volume={10},
date={2021},
number={3},
pages={8\ndash 11},
review={MR12345},
review={MR67890},
review={Zbl 0123.45678},
}
\end{biblist}
\end{bibdiv}
\end{document}
If I use the command \MR
provided by the package to format the Mathematical Reviews entries as review={\MR{12345}}
, etc., then a sentence space is added before each review entry. So, the spacing between first and second review entries now looks weird, especially in comparison with the spacing between the second and third entries.
Question: How can I get the spacing to be right?
I have found the following in my (limited) research, which may or may not be helpful.
Firstly, in the FAQ, the usage of the \MR
command to adjust the spacing between the period and the review number is insisted:
When I put
review={MR0113214 (22 \#4052)},
in a
\bib
, there is no space between the review number and the preceding period in the printed output.You must use the
\MR
macro to mark MR reviews:review={\MR{0113214 (22 \#4052)}},
This will ensure the spacing is correct and also allow you to use the
msc-links
option.
However, this is inconvenient for the reasons described in the MCVE, namely:
- multiple MR reviews (a rare situation, but not impossible) are spaced incorrectly;
- reviews other than MR reviews, such as Zbl (Zentralblatt) and JFM (Jahrbuch) reviews, cannot be typeset properly.
Secondly, I noticed that redefining \BibSpec{article}
so that the command \SentenceSpace
is removed from the style specification of the review
entry fixes the spacing between the final period and the first review entry so long as the \MR
command is not used for markup. The reason for this is not entirely clear to me, though; looking at the documented source, the command \SentenceSpace
is defined as:
2789 \newcommand{\SentenceSpace}{\relax\ifhmode\spacefactor`\. \fi}
Finally, I tried looking at the definition of the \MR
command, but I couldn't get anything fruitful. In case it helps, here are the relevant definitions from the documented source:
2643 \def\strip@MRprefix#1#2#3#4\@nil{%
2644 \def\@tempa{#1#2#3#4}%
2645 \if#1M%
2646 \if#2R%
2647 \def\@tempa{#3#4}%
2648 \fi
2649 \fi
2650 }
2651 \def\MR#1{%
2652 \relax\ifhmode\unskip\spacefactor3000 \space\fi
2653 \begingroup
2654 \strip@MRprefix#1\@nil
2655 \edef\@tempa{MR\@nx\MRhref{\@tempa}{\@tempa}}%
2656 \@xp\endgroup
2657 \@tempa
2658 }
2659 \providecommand{\MRhref}[2]{#1}
...
2904 \IfOption{msc-links}{%
2905 \@ifundefined{href}{}{%
2906 \def\parse@MR#1 (#2)#3\@nil{%
2907 \def\MR@url{http://www.ams.org/mathscinet-getitem?mr=#1}%
2908 \def\@tempd{#1}%
2909 \def\@tempe{#2}%
2910 }%
2911 \def\MRhref#1#2{%
2912 \begingroup
2913 \parse@MR#1 ()\@empty\@nil%
2914 \href{\MR@url}{\@tempd\vphantom{()}}%
2915 \ifx\@tempe\@empty
2916 \else
2917 \ \href{\MR@url}{(\@tempe)}%
2918 \fi
2919 \endgroup
2920 }%
2921 }{}
2922 }{}