0

I want to have small spaces, i.e \,, between the name parts for a citation with \textcite. \renewcommand{\bibinitdelim}{\,} did not work.

pa

MWE:

\documentclass{scrbook}

\begin{filecontents}{test.bib} @book{DINENISO527-1, author = {{DIN EN ISO 527-1}} } \end{filecontents}

\usepackage[backend=biber, style=ext-numeric, citestyle=numeric-comp, sorting=nyt, autocite=inline, isbn=false, innamebeforetitle=true, giveninits=true, maxbibnames=99, maxcitenames=2]{biblatex} \addbibresource{test.bib} \renewcommand{\bibinitdelim}{,}

\begin{document}

\Huge 

DIN\,EN\,ISO\,527-1 \autocite{DINENISO527-1}

DIN EN ISO 527-1 \autocite{DINENISO527-1}

\textcite{DINENISO527-1}

\end{document}

fuj36840
  • 550
  • If you want small spaces here, you should input small spaces, i.e. say @book{DINENISO527-1, author = {{DIN\,EN\,ISO\,527-1}},}. Biber passes the name through as is (because of the braces), so if you have normal spaces, you'll get normal spaces in the .bbl. – moewe Jul 16 '20 at 14:19
  • @moewe I'm using Zotero and Export it with the BetterBibtex extension, so I can't manually Put in small spaces – fuj36840 Jul 16 '20 at 18:23
  • 1
    I'm pretty sure you can. (I wouldn't know how.) BetterBibTeX can be instructed to do all sorts of shenanigans. The first thing I'd try is using (U+202F) or (U+2009) instead of the normal space when you enter the reference in Zotero. Or you can use <script>DIN\,EN\,ISO\,527-1</script> (see https://retorque.re/zotero-better-bibtex/exporting/advanced/). – moewe Jul 16 '20 at 19:42
  • BBT translates U+2009 to \,. I don't currently map U+202F -- is U+202F a better mapping for \, than U+2009? – retorquere Jul 24 '20 at 09:56

1 Answers1

1

There is no biblatex punctuation command/delimiter that applies here. Since you (correctly, see Using a 'corporate author' in the "author" field of a bibliographic entry (spelling out the name in full)) protect the DIN EN ISO 527-1 with an additional pair of braces to stop it from being parsed as a personal name (and being split into given and family parts), it ends up like this in the .bbl file

  \name{author}{1}{}{%
    {{hash=f9811a86a7ebf8984f8c4efa2d2d34ec}{%
       family={{DIN EN ISO 527-1}},
       familyi={D\bibinitperiod}}}%
  }

So biblatex gets to see DIN EN ISO 527-1 as a single unit with normal spaces. It would be pretty hard to get LaTeX to replace these spaces with thin spaces.

If you want thin spaces I think the best method is to make sure to give small spaces in the .bib file. If you are using a reference manager like Zotero to export .bib files this may not be as easy as writing

author = {{DIN\,EN\,ISO\,527-1}},

but it should be possible.

Since you are using BetterBibTeX, I'd try the following (I don't use Zotero or BetterBibTeX, so this is just guesswork based on what I know about the .bib export)

  • Use other Unicode spaces. For example (U+202F) or (U+2009). If you are lucky one of them is exported as \, or as something that comes close enough to \,.
  • Use <script>DIN\,EN\,ISO\,527-1</script> to avoid any conversion of special characters (see https://retorque.re/zotero-better-bibtex/exporting/advanced/).

If all else fails and you insist on inputting

author = {{DIN EN ISO 527-1}},

with normal spaces, you can still have Biber remap those spaces. This has to be used carefully though, so you need a flag to tell Biber whether or not to apply the mapping.

\documentclass{scrbook}
\usepackage[backend=biber,
  style=ext-numeric,
  citestyle=numeric-comp,
  sorting=nyt,
  maxbibnames=99, maxcitenames=2,
  giveninits=true, 
  autocite=inline,
  innamebeforetitle=true,
  isbn=false,
]{biblatex}

\DeclareEntryOption{smallspaces}{}

\DeclareSourcemap{ \maps[datatype=bibtex]{ \map{ \step[fieldsource=options, match=\regexp{(\A|,)\ssmallspaces\s(\Z|,)}, final] \step[fieldsource=author, match=\regexp{\s}, replace=\regexp{\,}] } } }

\begin{filecontents}{\jobname.bib} @book{DINENISO527-1, author = {{DIN EN ISO 527-1}}, options = {smallspaces}, } @book{DINENISO527-2, author = {{DIN,EN,ISO,527-2}}, } \end{filecontents} \addbibresource{\jobname.bib} \addbibresource{biblatex-examples.bib}

\begin{document} \Huge

DIN,EN,ISO,527-1 \autocite{DINENISO527-1}

DIN EN ISO 527-1 \autocite{DINENISO527-1}

\textcite{DINENISO527-1}

\textcite{DINENISO527-2}

\textcite{sigfridsson} \end{document}

DIN,EN,ISO,527-1 [1]//DIN EN ISO 527-1 [1]//DIN,EN,ISO,527-1 [1]//DIN,EN,ISO,527-2 [2]//Sigfridsson and Ryde [3]

It is a matter of style, but I find the version with \, too crammed and much harder to read than the version with normal spaces.

moewe
  • 175,683