
Konkret möchte ich diese Tabelle vervollständigen können:
symbol html entity LaTeX command
\deg ° \begin{alltt}\deg{alltt}
Damit habe ich einen Eintrag für jede HTML-Namensentität, die in deroffizielle Spezifikationen.
Mir ist bewusst, dass möglicherweise nicht für alle Zuordnungen vorhanden sind, aber je mehr, desto besser.
Ich brauche dies, um die Konformität eines Quelldokuments zu prüfen, das sowohl in HTML als auch in LaTeX veröffentlicht werden soll; das Quelldokument kann bereits HTML-benannte Entitäten enthalten. Daher brauche ich ein Diagramm mit Zuordnungen, um die Konvertierungen bereitzustellen oder Konformitätswarnungen für diejenigen auszugeben, die nicht zugeordnet werden.
Antwort1
In ConTeXt char-ent.lua
enthält die Datei die Liste aller HTML-Entitäten. Sie können über die characters.entities
Tabelle darauf zugreifen. Der folgende Code gibt beispielsweise alle Entitäten und ihre Werte auf dem Bildschirm aus.
\starttext
\startluacode
local entities = characters.entities
for name, value in next, entities do
print(name,value)
end
\stopluacode
\stoptext
Die Entitäten werden nicht in den entsprechenden TeX-Befehl übersetzt, sondern in das entsprechende Unicode-Symbol. Wenn Sie den entsprechenden TeX-Namen für das Symbol möchten, können Sie die characters.data
Tabelle durchsuchen (definiert in char-def.lua
).
\starttext
\startluacode
local data = characters.data
local function context_name(value)
value = data[value]
if value then
if value.contextname then
return value.contextname
elseif value.mathname then
return value.mathname
elseif value.mathspec then
return value.mathspec[1].name
else
return "not defined"
end
else
return "not defined"
end
end
local entities = characters.entities
for name, value in next, entities do
print(name,value, context_name(value))
end
\stopluacode
\stoptext
Die resultierende Liste istHier. Ich weiß nicht, ob LaTeX für alle Befehle derselben Namenskonvention folgt.
Antwort2
Um das Ganze abzuschließen: Meine ursprüngliche Frage bezog sich auf die Zuordnung von HTML 4.0-Entitäten zu LaTeX. Adityas Antwort bietet die Möglichkeit, eine weitaus größere Bandbreite benannter Zeichenentitäten zuzuordnen.
Ich habe Adityas Datensatz verwendet, um die Zuordnungen nur für HTML 4.0 wie unten zu erstellen. Wenn es nicht in der Liste steht, gibt es keine Zuordnung (oder ich habe die Datensatzreduzierung vermasselt).
Bitte beachten Sie die Kommentare – diese Tabelle ist nur in ConTeXt von großem Wert.
HTML 4.0 / LaTeX
Aacute / Aacute
aacute / aacute
Acirc / Acircumflex
acirc / acircumflex
acute / textacute
AElig / AEligature
aelig / aeligature
Agrave / Agrave
agrave / agrave
alefsym / aleph
Alpha / greekAlpha
alpha / greekalpha
and / wedge
ang / angle
Aring / Aring
aring / aring
asymp / approx
Atilde / Atilde
atilde / atilde
Auml / Adiaeresis
auml / adiaeresis
bdquo / quotedblbase
Beta / greekBeta
beta / greekbeta
brvbar / textbrokenbar
bull / textbullet
cap / cap
Ccedil / Ccedilla
ccedil / ccedilla
cedil / textcedilla
cent / textcent
Chi / greekChi
chi / greekchi
circ / textcircumflex
clubs / clubsuit
cong / approxEq
copy / copyright
crarr / carriagereturn
cup / cup
curren / textcurrency
dagger / textdag
Dagger / textddag
darr / downarrow
dArr / Downarrow
deg / textdegree
Delta / greekDelta
delta / greekdelta
diams / blacklozenge
divide / textdiv
Eacute / Eacute
eacute / eacute
Ecirc / Ecircumflex
ecirc / ecircumflex
Egrave / Egrave
egrave / egrave
empty / emptyset
emsp / emspace
ensp / enspace
Epsilon / greekEpsilon
epsilon / greekepsilon
equiv / equiv
Eta / greekEta
eta / greeketa
ETH / Eth
eth / eth
Euml / Ediaeresis
euml / ediaeresis
exist / exists
fnof / fhook
forall / forall
frac12 / onehalf
frac14 / onequarter
frac34 / threequarter
frasl / textfraction
Gamma / greekGamma
gamma / greekgamma
ge / geq
gt / gt
harr / leftrightarrow
hArr / Leftrightarrow
hellip / textellipsis
Iacute / Iacute
iacute / iacute
Icirc / Icircumflex
icirc / icircumflex
iexcl / exclamdown
Igrave / Igrave
igrave / igrave
image / Im
infin / infty
int / intop
Iota / greekIota
iota / greekiota
iquest / questiondown
isin / in
Iuml / Idiaeresis
iuml / idiaeresis
Kappa / greekKappa
kappa / greekkappa
Lambda / greekLambda
lambda / greeklambda
lang / langle
laquo / leftguillemot
larr / leftarrow
lArr / Leftarrow
lceil / lceiling
ldquo / quotedblleft
le / leq
lfloor / lfloor
lowast / ast
loz / lozenge
lsaquo / guilsingleleft
lsquo / quoteleft
lt / lt
macr / textmacron
mdash / emdash
micro / textmu
middot / periodcentered
Mu / greekMu
mu / greekmu
nbsp / nobreakspace
ndash / endash
ne / neq
ni / ni
not / textlognot
notin / nin
nsub / nsubset
Ntilde / Ntilde
ntilde / ntilde
Nu / greekNu
nu / greeknu
Oacute / Oacute
oacute / oacute
Ocirc / Ocircumflex
ocirc / ocircumflex
OElig / OEligature
oelig / oeligature
Ograve / Ograve
ograve / ograve
Omega / greekOmega
omega / greekomega
Omicron / greekOmicron
omicron / greekomicron
oplus / oplus
or / vee
ordf / ordfeminine
ordm / ordmasculine
Oslash / Ostroke
oslash / ostroke
Otilde / Otilde
otilde / otilde
otimes / otimes
Ouml / Odiaeresis
ouml / odiaeresis
para / paragraphmark
part / partial
permil / perthousand
perp / bot
Phi / greekPhi
phi / greekphi
Pi / greekPi
pi / greekpi
piv / greekpialt
plusmn / textpm
pound / textsterling
prime / prime
Prime / doubleprime
prod / prod
prop / propto
Psi / greekPsi
psi / greekpsi
radic / surd
rang / rangle
raquo / rightguillemot
rarr / rightarrow
rArr / Rightarrow
rceil / rceiling
rdquo / quotedblright
real / Re
reg / registered
rfloor / rfloor
Rho / greekRho
rho / greekrho
rsaquo / guilsingleright
rsquo / quoteright
sbquo / quotesinglebase
Scaron / Scaron
scaron / scaron
sdot / cdot
sect / sectionmark
shy / softhyphen
Sigma / greekSigma
sigma / greeksigma
sigmaf / greekfinalsigma
sim / sim
spades / spadesuit
sub / subset
sube / subseteq
sum / sum
sup / supset
sup1 / onesuperior
sup2 / twosuperior
sup3 / threesuperior
supe / supseteq
szlig / ssharp
Tau / greekTau
tau / greektau
there4 / therefore
Theta / greekTheta
theta / greektheta
thetasym / greekthetaalt
thinsp / breakablethinspace
THORN / Thorn
thorn / thorn
tilde / texttilde
times / textmultiply
trade / trademark
Uacute / Uacute
uacute / uacute
uarr / uparrow
uArr / Uparrow
Ucirc / Ucircumflex
ucirc / ucircumflex
Ugrave / Ugrave
ugrave / ugrave
uml / textdiaeresis
Upsilon / greekUpsilon
upsilon / greekupsilon
Uuml / Udiaeresis
uuml / udiaeresis
weierp / wp
Xi / greekXi
xi / greekxi
Yacute / Yacute
yacute / yacute
yen / textyen
yuml / ydiaeresis
Yuml / Ydiaeresis
Zeta / greekZeta
zeta / greekzeta
zwj / zwj
zwnj / zwnj
Antwort3
Hier gibt es eine Tabelle:ISO-Zeichenentitäten und ihre LATEX-Äquivalentevon Vidar Bronken Gundersen und Rune Mathisen. Das Quellmaterial finden Sie hier:http://www.bitjungle.com/isoent/- einschließlich einer großen XML-Datei mit Zuordnungen zwischen verschiedenen Formaten.
Dieselben Leute haben daraus ein Perl-Programm gemacht, das hier verfügbar ist:http://llg.cubic.org/docs/ent2latex.html(ausdiese AntwortZuWie kann ich ein Symbol nachschlagen oder ein mathematisches Symbol oder Zeichen identifizieren?.)
Und hier ist noch eine Liste:http://www.w3.org/Math/characters/unicode.xml, und dieselben Daten in Python kompiliert:https://gist.github.com/piquadrat/798549
Antwort4
So etwas sollte die häufigsten Fälle abdecken.
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{array,booktabs}
\newcommand{\entity}[2]{#1 & \ & \verb}
\begin{document}
\begin{tabular}{l>{\ttfamily}ll}
\toprule
Symbol &\multicolumn{1}{l}{HTML entity} & \LaTeX\ command \\
\midrule
\entity{\'e}{eacute}|\'e| \\
\entity{\TH}{THORN}|\TH| \\
\bottomrule
\end{tabular}
\end{document}