Browse Source

fixes latex2html issue

pull/63/merge
Martin Monperrus 9 years ago
parent
commit
b869054763
  1. 1
      bibacid-utf8.bib
  2. 1
      bibtexbrowser-test.php
  3. 10
      bibtexbrowser.php

1
bibacid-utf8.bib

@ -223,3 +223,4 @@ MRREVIEWER = {Jean-Fran{\c{c}}ois Clouet},
title = "Fancy accents bug", title = "Fancy accents bug",
year = 2015 year = 2015
} }

1
bibtexbrowser-test.php

@ -462,6 +462,7 @@ class BTBTest extends PHPUnit_Framework_TestCase {
function test_latex2html() { function test_latex2html() {
$this->assertEquals('é', latex2html("\'e")); $this->assertEquals('é', latex2html("\'e"));
$this->assertEquals('é', latex2html("{\'e}"));
} }
function test_homepage_link() { function test_homepage_link() {

10
bibtexbrowser.php

@ -927,7 +927,8 @@ class BibDBBuilder extends ParserDelegate {
$this->builtdb[$this->currentEntry->getKey()] = $this->currentEntry; $this->builtdb[$this->currentEntry->getKey()] = $this->currentEntry;
} }
} }
function entryValuePart($key, $value, $type) { function entryValuePart($key, $value, $type) {
if (preg_match('/^author$/i',trim($key)) && strlen($value)>0) { if (preg_match('/^author$/i',trim($key)) && strlen($value)>0) {
if ($type == 'CURLYTOP') { if ($type == 'CURLYTOP') {
@ -941,6 +942,7 @@ class BibDBBuilder extends ParserDelegate {
} }
} }
} }
} // end class BibDBBuilder } // end class BibDBBuilder
@ -973,11 +975,7 @@ function char2html($line,$latexmodifier,$char,$entitiyfragment) {
} }
function char2html_case_sensitive($line,$latexmodifier,$char,$entitiyfragment) { function char2html_case_sensitive($line,$latexmodifier,$char,$entitiyfragment) {
// old version
// $line = str_replace('\\'.$latexmodifier.$char,'&'.$char.''.$entitiyfragment.';', $line);
// $line = str_replace('\\'.$latexmodifier.' '.$char,'&'.$char.''.$entitiyfragment.';', $line);
// $line = str_replace('\\'.$latexmodifier.'{'.$char.'}','&'.$char.''.$entitiyfragment.';', $line);
$line = preg_replace('/\\\\'.preg_quote($latexmodifier,'/').' ?\\{?'.$char.'\\}?/','&'.$char.''.$entitiyfragment.';', $line);
$line = preg_replace('/\\{?\\\\'.preg_quote($latexmodifier,'/').' ?\\{?'.$char.'\\}?/','&'.$char.''.$entitiyfragment.';', $line);
return $line; return $line;
} }

Loading…
Cancel
Save