You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
4.8 KiB

<?php
// Project: Web Reference Database (refbase) <http://www.refbase.net>
// Copyright: Matthias Steffens <mailto:refbase@extracts.de> and the file's
// original author(s).
//
// This code is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY. Please see the GNU General Public
// License for more details.
//
// File: ./includes/transtab_refbase_latex.inc.php
// Repository: $HeadURL: file:///svn/p/refbase/code/branches/bleeding-edge/includes/transtab_refbase_latex.inc.php $
// Author(s): Matthias Steffens <mailto:refbase@extracts.de>
//
// Created: 28-May-06, 17:01
// Modified: $Date: 2008-10-30 17:19:48 +0000 (Thu, 30 Oct 2008) $
// $Author: msteffens $
// $Revision: 1288 $
// Search & replace patterns for conversion from refbase markup to LaTeX markup & entities. Converts refbase fontshape markup (italic, bold) into
// LaTeX commands of the 'textcomp' package, super- and subscript as well as greek letters get converted into the respective commands in math mode.
// You may need to adopt the LaTeX markup to suit your individual needs.
// Search & replace patterns must be specified as perl-style regular expression and search patterns must include the leading & trailing slashes.
global $patternModifiers; // defined in 'transtab_unicode_charset.inc.php' and 'transtab_latin1_charset.inc.php'
$transtab_refbase_latex = array(
"/([{}])/" => '\\\\\\1', // escaping of curly brackets has to be done as the first action so that conversion is only applied to field contents and doesn't mess with the generated LaTeX code
"/__(?!_)(.+?)__/" => '\\1', // underline is currently removed; instead, you could use '\\ul{\\1}' which requires '\usepackage{soul}'; the pattern for underline (__...__) must come before the one for italic (_..._)
"/_(.+?)_/" => '\\textit{\\1}', // or use '\\it{\\1}'
"/\\*\\*(.+?)\\*\\*/" => '\\textbf{\\1}', // or use '\\bf{\\1}'
"/\\[super:(.+?)\\]/i" => '$^{\\1}$', // or use '\\textsuperscript{\\1}'
"/\\[sub:(.+?)\\]/i" => '$_{\\1}$', // or use '\\textsubscript{\\1}' if defined in your package
"/\\[permil\\]/" => '{\\textperthousand}',
"/\\[infinity\\]/" => '$\\infty$',
"/\\[alpha\\]/" => '$\\alpha$',
"/\\[beta\\]/" => '$\\beta$',
"/\\[gamma\\]/" => '$\\gamma$',
"/\\[delta\\]/" => '$\\delta$',
"/\\[epsilon\\]/" => '$\\epsilon$',
"/\\[zeta\\]/" => '$\\zeta$',
"/\\[eta\\]/" => '$\\eta$',
"/\\[theta\\]/" => '$\\theta$',
"/\\[iota\\]/" => '$\\iota$',
"/\\[kappa\\]/" => '$\\kappa$',
"/\\[lambda\\]/" => '$\\lambda$',
"/\\[mu\\]/" => '$\\mu$',
"/\\[nu\\]/" => '$\\nu$',
"/\\[xi\\]/" => '$\\xi$',
"/\\[omicron\\]/" => '$o$',
"/\\[pi\\]/" => '$\\pi$',
"/\\[rho\\]/" => '$\\rho$',
"/\\[sigmaf\\]/" => '$\\varsigma$',
"/\\[sigma\\]/" => '$\\sigma$',
"/\\[tau\\]/" => '$\\tau$',
"/\\[upsilon\\]/" => '$\\upsilon$',
"/\\[phi\\]/" => '$\\phi$',
"/\\[chi\\]/" => '$\\chi$',
"/\\[psi\\]/" => '$\\psi$',
"/\\[omega\\]/" => '$\\omega$',
"/\\[Alpha\\]/" => '$A$',
"/\\[Beta\\]/" => '$B$',
"/\\[Gamma\\]/" => '$\\Gamma$',
"/\\[Delta\\]/" => '$\\Delta$',
"/\\[Epsilon\\]/" => '$E$',
"/\\[Zeta\\]/" => '$Z$',
"/\\[Eta\\]/" => '$H$',
"/\\[Theta\\]/" => '$\\Theta$',
"/\\[Iota\\]/" => '$I$',
"/\\[Kappa\\]/" => '$K$',
"/\\[Lambda\\]/" => '$\\Lambda$',
"/\\[Mu\\]/" => '$M$',
"/\\[Nu\\]/" => '$N$',
"/\\[Xi\\]/" => '$\\Xi$',
"/\\[Omicron\\]/" => '$O$',
"/\\[Pi\\]/" => '$\\Pi$',
"/\\[Rho\\]/" => '$R$',
"/\\[Sigma\\]/" => '$\\Sigma$',
"/\\[Tau\\]/" => '$T$',
"/\\[Upsilon\\]/" => '$\\Upsilon$',
"/\\[Phi\\]/" => '$\\Phi$',
"/\\[Chi\\]/" => '$X$',
"/\\[Psi\\]/" => '$\\Psi$',
"/\\[Omega\\]/" => '$\\Omega$',
"/\"(.+?)\"/" => '{\\textquotedblleft}\\1{\\textquotedblright}',
"/ +- +/" => " -- ",
// "/–/$patternModifiers" => "--"
// Note that for UTF-8 based systems, '$patternModifiers' contains the "u" (PCRE_UTF8) pattern modifier which should cause PHP/PCRE
// to treat pattern strings as UTF-8 (otherwise this conversion pattern would garble UTF-8 characters such as "Ö"). However, the
// "–" character still seems to cause PREG compilation errors on some UTF8-based systems, which is why the line has been commented
// out (it should work fine for a latin1-based system, though).
);
?>