Diff for /loncom/interface/entities.pm between versions 1.1 and 1.4

version 1.1, 2008/02/11 11:35:46 version 1.4, 2008/04/01 10:45:44
Line 53  use strict; Line 53  use strict;
 #  the original massive regular expression replacements originally by   #  the original massive regular expression replacements originally by 
 #  A. Sakharuk in lonprintout.pm  #  A. Sakharuk in lonprintout.pm
 #  #
   #  I also want to acknowledge
   #   ISO Character entities and their LaTeX equivalents by 
   #      Vidar Bronken Gundersen, and Rune Mathisen
   #    http://www.bitjungle.com/isoent-ref.pdf
   #
   
 #  Note numerical entities are essentially unicode character codes.  #  Note numerical entities are essentially unicode character codes.
 #  #
 my %entities = {  my %entities = {
Line 499  my %entities = { Line 505  my %entities = {
     'zeta'   => '\\ensuremath\{\\zeta\}',      'zeta'   => '\\ensuremath\{\\zeta\}',
     951      => '\\ensuremath\{\\eta\}',      951      => '\\ensuremath\{\\eta\}',
     'eta'    => '\\ensuremath\{\\eta\}',      'eta'    => '\\ensuremath\{\\eta\}',
       952      => '\\ensuremath\{\\theta\}',
       'theta'  => '\\ensuremath\{\\theta\}',
       953      => '\\ensuremath\{\\iota\}',
       'iota'   => '\\ensuremath\{\\iota\}',
       954      => '\\ensuremath\{\\kappa\}',
       'kappa'  => '\\ensuremath\{\\kappa\}',
       955      => '\\ensuremath\{\\lambda\}',
       'lambda' => '\\ensuremath\{\\lambda\}',
       956      => '\\ensuremath\{\\mu\}',
       'mu'     => '\\ensuremath\{\\mu\}',
       957      => '\\ensuremath\{\\nu\}',
       'nu'     => '\\ensuremath\{\\nu\}',
       958      => '\\ensuremath\{\\xi\}',
       'xi'     => '\\ensuremath\{\\xi\}',
       959      => '\\ensuremath\{o\}',
       'omicron'=> '\\ensuremath\{o\}',
       960      => '\\ensuremath\{\\pi\}',
       'pi'     => '\\ensuremath\{\\pi\}',
       961      => '\\ensuremath\{\\rho\}',
       'rho'    => '\\ensuremath\{\\rho\}',
       962      => '\\ensuremath\{\\varsigma\}',
       'sigmaf' => '\\ensuremath\{\\varsigma\}',
       963      => '\\ensuremath\{\\sigma\}',
       'sigma'  => '\\ensuremath\{\\sigma\}',
       964      => '\\ensuremath\{\\tau\}',
       'tau'    => '\\ensuremath\{\\tau\}',
       965      => '\\ensuremath\{\\upsilon\}',
       'upsilon'=> '\\ensuremath\{\\upsilon\}',
       966      => '\\ensuremath\{\\phi\}',
       'phi'    => '\\ensuremath\{\\phi\}',
       967      => '\\ensuremath\{\\chi\}',
       'chi'    => '\\ensuremath\{\\chi\}',
       968      => '\\ensuremath\{\\psi\}',
       'psi'    => '\\ensuremath\{\\psi\}',
       969      => '\\ensuremath\{\\omega\}',
       'omega'  => '\\ensuremath\{\\omega\}',
       977      => '\\ensuremath\{\\vartheta\}',
       'thetasym'=>'\\ensuremath\{\\vartheta\}',
       978      => '\\ensuremath\{\\varUpsilon\}',
       'upsih'  => '\\ensuremath\{\\varUpsilon\}',
       982      => '\\ensuremath\{\\varpi\}',
       'piv'    => '\\ensuremath\{\\varpi\}',
   
       
       # The general punctuation set:
   
       8194,    => '\\hspace{.5em}',
       'enspc'  => '\\hspace{.5em}',
       8195     => '\\hspace{1.0em}',
       'emspc'  => '\\hspace{1.0em}',
       8201     => '\\hspace{0.167em}',
       'thinsp' => '\\hspace{0.167em}',
       8204     => '\{\}',
       'zwnj'   => '\{\}',
       8205     => '',
       'zwj'    => '',
       8206     => '',
       'lrm'    => '',
       8207     => '',
       'rlm'    => '',
       8211     => '--',
       'ndash'  => '--',
       8212     => '---',
       'mdash'  => '---',
       8216     => '`',
       'lsquo'  => '`',
       8217     => "'",
       'rsquo'  => "'",
       8218     => '\\quotesinglebase',
       'sbquo'  => '\\quotesinglebase',
       8220     => '``',
       'ldquo'  => '``',
       8221     => "''",
       'rdquo'  => "''",
       8222     => '\\quotedblbase',
       'bdquo'  => '\\quotedblbase',
       8224     => '\\dagger',
       'dagger' => '\\dagger',
       '8225'   => '\\ddag',
       'Dagger' => '\\ddag',
       8226     => '\\textbullet',
       'bull'   => '\\textbullet',
       8230     => '\\textellipsis',
       'hellep' => '\\textellipsis',
       8240     => '\\textperthousand',
       permil   => '\\textperthousand',
       8242     => '\\textquotesingle',
       'prime'  => '\\textquotesingle',
       8243     => '\\textquotedbl',
       'Prime'  => '\\textquotedbl',
       8249     => '\\guilsingleleft',
       'lsaquo' => '\\guilsingleleft',
       8250     => '\\guilsingleright',
       'rsaquo' => '\\guilsingleright',
       8254     => '\\textasciimacron',
       oline    => '\\textasciimacron',
       8260     => '\\textfractionsolidus',
       'frasl'  => '\\textfractionsolidus',
       8364     => '\\texteuro',
       'euro'   => '\\texteuro',
   
       # Letter like symbols
   
       
       8472     => '\\ensuremath\{\\wp\}',
       'weierp' => '\\ensuremath\{\\wp\}',
       8465     => '\\ensuremath\{\\Im\}',
       'image'  => '\\ensuremath\{\\Im\}',
       8476     => '\\ensuremath{\\Re\}',
       'real'   => '\\ensuremath{\\Re\}',
       8482     => '\\texttrademark',
       'trade'  => '\\texttrademark',
       8501     => '\\ensuremath{\\aleph\}',
       'alefsym'=> '\\ensuremath{\\aleph\}',
   
       # Arrows and then some (harpoons from Hon Kie).
   
       8592     => '\\textleftarrow',
       'larr'   => '\\textleftarrow',
       8593     => '\\textuparrow',
       'uarr'   => '\\textuparrow',
       8594     => '\\textrightarrow',
       'rarr'   => '\\textrightarrow',
       8595     => '\\textdownarrow',
       'darr'   => '\\textdownarrow',
       8596     => '\\ensuremath\{\\leftrightarrow\}',
       'harr'   => '\\ensuremath\{\\leftrightarrow\}',
       8598     => '\\ensuremath\{\\nwarrow\}',
       8599     => '\\ensuremath\{\\nearrow\}',
       8600     => '\\ensuremath\{\\searrow\}',
       8601     => '\\ensuremath\{\\swarrow\}',
       8605     => '\\ensuremath\{\\leadsto\}',
       8614     => '\\ensuremath\{\\mapsto\}',
       8617     => '\\ensuremath\{\\hookleftarrow\}',
       8618     => '\\ensuremath\{\\hookrightarrow\}',
       8629     => '\\ensuremath\{\\hookleftarrow\}', # not an exact match but best I know.
       'crarr'  => '\\ensuremath\{\\hookleftarrow\}', # not an exact match but best I know.
       8636     => '\\ensuremath\{\\leftharpoonup\}',
       8637     => '\\ensuremath\{\\leftharpoondown\}',
       8640     => '\\ensuremath\{\\rightharpoonup\}',
       8641     => '\\ensuremath\{\\rightharpoondown\}',
       8652     => '\\ensuremath\{\\rightleftharpoons\}',
       8656     => '\\ensuremath\{\\Leftarrow\}',
       'lArr'   => '\\ensuremath\{\\Leftarrow\}',
       8657     => '\\ensuremath\{\\Uparrow\}',
       'uArr'   => '\\ensuremath\{\\Uparrow\}',
       8658     => '\\ensuremath\{\\Rightarrow\}',
       'rArr'   => '\\ensuremath\{\\Rightarrow\}',
       8659     => '\\ensuremath\{\\Downarrow\}',
       'dArr'   => '\\ensuremath\{\\Downarrow\}',
       8660     => '\\ensuremath\{\\Leftrightarrow\}',
       'vArr'   => '\\ensuremath\{\\Updownarrow\}',
       8661     => '\\ensuremath\{\\Updownarrow\}',
       'lAarr'   => '\\ensuremath\{\\Lleftarrow\}',
       8666     => '\\ensuremath\{\\Lleftarrow\}',
       'rAarr'  => '\\ensuremath\{\\Rrightarrow\}',
       8667     => '\\ensuremath\{\\Rrightarrow\}',
       'rarrw'  => '\\ensuremath\{\\rightsquigarrow\}',
       8669     => '\\ensuremath\{\\rightsquigarrow\}',
       
   
       # Mathematical operators.
   
       
       'forall' => '\\ensuremath\{\\forall\}',
       8704     => '\\ensuremath\{\\forall\}',
       'comp'   => '\\ensuremath\{\\complement\}',
       8705     => '\\ensuremath\{\\complement\}',
       'part'   => '\\ensuremath\{\\partial\}',
       8706     => '\\ensuremath\{\\partial\}',
       'exist'  => '\\ensuremath\{\\exists\}',
       8707     => '\\ensuremath\{\\exists\}',
       'nexist' => '\\ensuremath\{\\nexists\}',
       8708     => '\\ensuremath\{\\nexists\}',
       'empty'  => '\\ensuremath\{\\emptysset\}',
       8709     => '\\ensuremath\{\\emptysset\}',
       8710     => '\\ensuremath\{\\Delta\}',
       'nabla'  => '\\ensuremath\{\\nabla\}',
       8711     => '\\ensuremath\{\\nabla\}',
       'isin'   => '\\ensuremath\{\\in\}',
       8712     => '\\ensuremath\{\\in\}',
       'notin'  => '\\ensuremath\{\\notin\}',
       8713     => '\\ensuremath\{\\notin\}',
       ni       => '\\ensuremath\{\\ni\}',
       8715     => '\\ensuremath\{\\ni\}',
       8716     => '\\ensuremath\{\\not\\ni\}',
       'prod'   => '\\ensuremath\{\\prod\}',
       8719     => '\\ensuremath\{\\prod\}',
       8720     => '\\ensuremath\{\\coprod\}',
       'sum'    => '\\ensuremath\{\\sum\}',
       8721     => '\\ensuremath\{\\sum\}',
       'minus'  => '\\ensuremath\{-\}',
       8722     => '\\ensuremath\{-\}',
       8723     => '\\ensuremath\{\\mp\}',
       8724     => '\\ensuremath\{\\dotplus\}',
       8725     => '\\ensuremath\{\\diagup\}',
       8726     => '\\ensuremath\{\\smallsetminus\}',
       'lowast' => '\\ensuremath\{*\}',
       8727     => '\\ensuremath\{*\}',
       8728     => '\\ensuremath\{\\circ\}',
       8729     => '\\ensuremath\{\\bullet\}',
       'radic'  => '\\ensuremath\{\\surd\}',
       8730     => '\\ensuremath\{\\surd\}',
       8731     => '\\ensuremath\{\\sqrt[3]\{\}\}',
       8732     => '\\ensuremath\{\\sqrt[4]\{\}\}',
       'prop'   => '\\ensuremath\{\\propto\}',
       8733     => '\\ensuremath\{\\propto\}',
       'infin'  => '\\ensuremath\{\\infty\}',
       8734     => '\\ensuremath\{\\infty\}',
       'ang90'  => '\\ensuremath\{\\sqangle\}',
       8735     => '\\ensuremath\{\\sqangle\}',
       'ang'    => '\\ensuremath\{\\angle\}',
       8736     => '\\ensuremath\{\\angle\}',
       'angmsd' => '\\ensuremath\{\\measuredangle\}',
       8737     => '\\ensuremath\{\\measuredangle\}',
       'angsph' => '\\ensuremath\{\\sphiericalangle\}',
       8738     => '\\ensuremath\{\\sphiericalangle\}',
       8739     => '\\ensuremath\{\\vert\}',
       8740     => '\\ensuremath\{\\Vert\}',
       'and'    => '\\ensuremath\{\\land\}',
       8743     => '\\ensuremath\{\\land\}',
       'or'     => '\\ensuremath\{\\lor\}',
       8744     => '\\ensuremath\{\\lor\}',
       'cap'    => '\\ensuremath\{\\cap\}',
       8745     => '\\ensuremath\{\\cap\}',
       'cup'    => '\\ensuremath\{\\cup\}',
       8746     => '\\ensuremath\{\\cup\}',
       'int'    => '\\ensuremath\{\\int\}',
       8747     => '\\ensuremath\{\\int\}',
       'conint' => '\\ensuremath\{\\oint\}',
       8750     => '\\ensuremath\{\\oint\}',
       'there4' => '\\ensuremath\{\\therefore\}',
       8756     => '\\ensuremath\{\\therefore\}',
       'becaus' => '\\ensuremath\{\\because\}',
       8757     => '\\ensuremath\{\\because\}',
       8758     => '\\ensuremath\{:\}',
       8759     => '\\ensuremath\{::\}',
       'sim'    => '\\ensuremath\{\\sim\}',
       8764     => '\\ensuremath\{\\sim\}',
       8765     => '\\ensuremath\{\\backsim\}',
       'wreath' => '\\ensuremath\{\\wr\}',
       8768     => '\\ensuremath\{\\wr\}',
       'nsim'   => '\\ensuremath\{\\not\sim\}',
       8769     => '\\ensuremath\{\\not\sim\}',
   #    'asymp'  => '\\ensuremath\{\\asymp\}',  ≈ is actually a different glyph.
       8771     => '\\ensuremath\{\\asymp\}',
       8772     => '\\ensuremath\{\\not\\asymp\}',
       'cong'   => '\\ensuremath\{\\cong\}',
       8773     => '\\ensuremath\{\\cong\}',
       8775     => '\\ensuremath\{\\ncong\}',
       8778     => '\\ensuremath\{\\approxeq\}',
       8784     => '\\ensuremath\{\\doteq\}',
       8785     => '\\ensuremath\{\\doteqdot\}',
       8786     => '\\ensuremath\{\\fallingdotseq\}',
       8787     => '\\ensuremath\{\\risingdotseq\}',
       8788     => '\\ensuremath\{:=\}',
       8789     => '\\ensuremath\{=:\}',
       8790     => '\\ensuremath\{\\eqcirc\}',
       8791     => '\\ensuremath\{\\circeq\}',
       'wedgeq' => '\\ensuremath\{\\stackrel\{\\wedge\}\{=\}\}',
       8792     => '\\ensuremath\{\\stackrel\{\\wedge\}\{=\}\}',
       8794     => '\\ensuremath\{\\stackrel\{\\vee\}\{=\}\}',
       8795     => '\\ensuremath\{\\stackrel\{\\star}\{=\}\}',
       8796     => '\\ensuremath\{\\triangleeq\}',
       8797     => '\\ensuremath\{\\stackrel\{def\}\{=\}\}',
       8798     => '\\ensuremath\{\\stackrel\{m\}\{=\}\}',
       8799     => '\\ensuremath\{\\stackrel\{?\}\{=\}\}',
       'ne'     => '\\ensuremath\{\\neq\}',
       8800     => '\\ensuremath\{\\neq\}',
       'equiv'  => '\\ensuremath\{\\equiv\}',
       8801     => '\\ensuremath\{\\equiv\}',
       8802     => '\\ensuremath\{\\not\\equiv\}',
       'le'     => '\\ensuremath\{\\leq\}',
       8804     => '\\ensuremath\{\\leq\}',
       'ge'     => '\\ensuremath\{\\geq\}',
       8805     => '\\ensuremath\{\\geq\}',
       8806     => '\\ensuremath\{\\leqq\}',
       8807     => '\\ensuremath\{\\geqq\}',
       8810     => '\\ensuremath\{\\ll\}',
       8811     => '\\ensuremath\{\\gg\}',
       'twixt'  => '\\ensuremath\{\\between\}',
       8812     => '\\ensuremath\{\\between\}',
       8813     => '\\ensuremath\{\\not\\asymp\}',
       8814     => '\\ensuremath\{\\not<\}',
       8815     => '\\ensuremath\{\\not>\}',
       8816     => '\\ensuremath\{\\not\\leqslant\}',
       8817     => '\\ensuremath\{\\not\\geqslant\}',
       8818     => '\\ensuremath\{\\lessim\}',
       8819     => '\\ensuremath\{\\gtrsim\}',
       8820     => '\\ensuremath\{\\stackrel\{<\}\{>\}\}',
       8821     => '\\ensuremath\{\\stackrel\{>\}\{<\}\}',
       8826     => '\\ensuremath\{\\prec\}',
       8827     => '\\ensuremath\{\\succ\}',
       8828     => '\\ensuremath\{\\preceq\}',
       8829     => '\\ensuremath\{\\succeq\}',
       8830     => '\\ensuremath\{\\not\\prec\}',
       8831     => '\\ensuremath\{\\not\\succ\}',
       'sub'    => '\\ensuremath\{\\subset\}',
       8834     => '\\ensuremath\{\\subset\}',
       'sup'    => '\\ensuremath\{\\supset\}',
       8835     => '\\ensuremath\{\\supset\}',
       'nsub'   => '\\ensuremath\{\\not\\subset\}',
       8836     => '\\ensuremath\{\\not\\subset\}',
       8837     => '\\ensuremath\{\\not\\supset\}',
       'sube'   => '\\ensuremath\{\\subseteq\}',
       8838     => '\\ensuremath\{\\subseteq\}',
       'supe'   => '\\ensuermath\{\\supseteq\}',
       8839     => '\\ensuermath\{\\supseteq\}',
       8840     => '\\ensuremath\{\\nsubseteq\}',
       8841     => '\\ensuremath\{\\nsupseteq\}',
       8842     => '\\ensuremath\{\\subsetneq\}',
       8843     => '\\ensuremath\{\\supsetneq\}',
       8847     => '\\ensuremath\{\\sqsubset\}',
       8848     => '\\ensuremath\{\\sqsupset\}',
       8849     => '\\ensuremath\{\\sqsubseteq\}',
       8850     => '\\ensuremath\{\\sqsupseteq\}',
       8851     => '\\ensuremath\{\\sqcap\}',
       8852     => '\\ensuremath\{\\sqcup\}',
       'oplus'  => '\\ensuremath\{\\oplus\}',
       8853     => '\\ensuremath\{\\oplus\}',
       8854     => '\\ensuremath\{\\ominus\}',
       'otimes' => '\\ensuremath\{\\otimes\}',
       8855     => '\\ensuremath\{\\otimes\}',
       8856     => '\\ensuremath\{\\oslash\}',
       8857     => '\\ensuremath\{\\odot\}',
       8858     => '\\ensuremath\{\\circledcirc\}',
       8859     => '\\ensuremath\{\\circledast\}',
       8861     => '\\ensuremath\{\\ominus\}', # Close enough for government work.
       8862     => '\\ensuremath\{\\boxplus\}',
       8863     => '\\ensuremath\{\\boxminus\}',
       8864     => '\\ensuremath\{\\boxtimes\}',
       8865     => '\\ensuremath\{\\boxdot\}',
       
   
       
   
           
 };  };
   
   # 
   #  Convert a numerical entity (that does not exist in our hash)
   #  to its UTF-8 equivalent representation.
   #  This allows us to support, to some extent, any entity for which
   #  dvipdf can find a gylph (given that LaTeX is now UTF-8 clean).
   #
   sub entity_to_utf8 {
   }
   
   
   #
   #  Convert an entity to the corresponding LateX if possible.
   #  If not possible, and the entity is numeric,
   #  the entity is treated like a Unicode character and converted
   #  to UTF-8 which should display as long as dvipdf can find the
   #  appropriate glyph.
   #
   sub entity_to_latex {
   }
   

Removed from v.1.1  
changed lines
  Added in v.1.4


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>