Biber::LaTeX::Recode − Encode/Decode chars to/from UTF−8/lacros in LaTeX


use Biber::LaTeX:Recode
my $string = 'MuXammad ibn MXsX al−KhwXrizmX';
my $latex_string = latex_encode($string);
# => 'Mu\d{h}ammad ibn M\=us\=a al−Khw\=arizm\={\i}'
my $string = 'Mu\d{h}ammad ibn M\=us\=a al−Khw\=arizm\={\i}';
my $utf8_string = latex_decode($string);
# => 'MuXammad ibn MXsX al−KhwXrizmX'


Allows conversion between Unicode chars and LaTeX macros.


Possible values for the encoding/decoding set to use are ’null’, ’base’ and ’full’; default value is ’base’.

null => No conversion

base => Most common macros and diacritics (sufficient for Western languages
and common symbols)

full => Also converts punctuation, larger range of diacritics and macros
(e.g. for IPA, Latin Extended Additional, etc.), symbols, Greek letters,
dingbats, negated symbols, and superscript characters and symbols ...

init_sets(<decode set>, <encode_set>)
Initialise recoding sets. We can't do this on loading the module as we don't have the config
information to do this yet

latex_decode($text, @options)
Converts LaTeX macros in the $text to Unicode characters.

The function accepts a number of options:

* normalize => $bool (default 1)
whether the output string should be normalized with Unicode::Normalize
* normalization => <normalization form> (default 'NFD')
and if yes, the normalization form to use (see the Unicode::Normalize documentation)

latex_encode($text, @options)
Converts UTF−8 to LaTeX


Philip Kime "<philip at>"


Please report any bugs or feature requests on our Github tracker at <>.


Copyright 2009−2012 Francois Charette and Philip Kime, all rights reserved. Copyright 2012−2019 Philip Kime, all rights reserved.

This module is free software. You can redistribute it and/or modify it under the terms of the Artistic License 2.0.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.