Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
    
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 '12 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. –  Håkon Malmedal Jul 17 '12 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 '12 at 19:58
    
Yes, I have already done that. I have spent a week updating a translation. –  Håkon Malmedal Jul 17 '12 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 '12 at 20:07
add comment

1 Answer

up vote 7 down vote accepted

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.