8

I want to print all the localization strings in biblatex for a language, so I can review them in an easier way than looking at the code. How can I achieve this?

5
  • Is it supposed to be 'pretty printed' into (say) a tabular environment? Otherwise, given that .lbx files are not very 'code' heavy, I'm not sure what you are gaining.
    – jon
    Jul 17, 2012 at 19:15
  • I believe it would be easier if I could see the result of the code. I have experimented with a dummy bib-file to see the strings in action, but it is tricky. Jul 17, 2012 at 19:41
  • Can you not just use the example .bib files shipped with biblatex to test the results (just loaded with the right 'new' language in babel)? There are about 80 test 'style' files shipped with the package along with biblatex-examples.bib.
    – jon
    Jul 17, 2012 at 19:58
  • Yes, I have already done that. I have spent a week updating a translation. Jul 17, 2012 at 20:04
  • OK. Then perhaps you can edit your question to include what sort of thing you want to see in terms of 'result of the code'. Your first question and your first comment seem to be describing (to me) two different things.
    – jon
    Jul 17, 2012 at 20:07

1 Answer 1

8

Long and short strings for localization keys can be printed with \biblstring{<key>} and \bibsstring{<key>}, respectively. Many of the strings use punctuation commands, such as \addcomma and \space. All of these biblatex commands are defined only within citations and bibliographies, but we can make them in scope by issuing \blx@bibinit.

The default keys are initialized using a list of \do commands stored in \abx@dostrings. You can redefine \do to print the strings in a document. Here's an example.

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage{biblatex} 

\begin{document}
\makeatletter
\blx@bibinit
\def\do#1{\item \texttt{#1}: \biblstring{#1}, \bibsstring{#1}}
List of default localization keys (name: long string, short string)
\begin{itemize}
\abx@dostrings
\end{itemize}
\makeatother
\end{document}

Note that this won't print keys initialized elsewhere, but you could append \abx@dostrings with additional keys in the preamble. As of biblatex 2.0 all strings defined in the standard lbx files correspond to default localization keys.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .