htlatex 将 \textasciigrave 更改为“左单引号”(')

htlatex 将 \textasciigrave 更改为“左单引号”(')

为了在 DVI 和 PDF 中正确显示重音符,我使用了\textasciigrave。但htlatex将其更改为‘(左单引号)。这是一个错误吗?(我使用 texlive 2015。)

例如

\documentclass{book}
\usepackage{textcomp}
\begin{document}
\textasciigrave
\end{document}

latex或处理pdflatex会产生正确的重音符字形,但用 处理htlatex会产生‘

答案1

这看起来像是tex4ht的支持中的一个错误textcomp。尝试将以下文件另存为tcrm.htf

tcrm 0 246
''  ''  Grave
''  ''  Acute
''  ''  Circumflex
''  ''  Tilde
''  ''  Dieresis
''  ''  Hungarumlaut
''  ''  Ring
''  ''  Caron
''  ''  Breve
''  ''  Macron
''  ''  Dotaccent
'¸'  ''  cedilla
'˛'  ''  ogonek
''  ''  quotesinglbase.ts1
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  quotedblbase.ts1
''  ''  none
''  ''  none
'�'  ''  twelveudash
''  ''  threequartersemdash
''  ''  afii61664.cap
'←'  ''  arrowleft
'→'  ''  arrowright
''  ''  tieaccentlowercase
''  ''  tieaccentcapital
''  ''  tieaccentlowercase.new
''  ''  tieaccentcapital.new
''  ''  none
''  ''  afii61664.asc
'␢'  ''  uni2422
''  ''  none
''  ''  none
''  ''  none
'$'  ''  dollar
''  ''  none
''  ''  none
'''  ''  quotesingle
''  ''  none
''  ''  none
'∗'  ''  asteriskmath
''  ''  none
','  ''  comma
''  ''  hyphendbl
'.'  ''  period
'⁄'  ''  fraction
''  ''  zerooldstyle
''  ''  oneoldstyle
''  ''  twooldstyle
''  ''  threeoldstyle
''  ''  fouroldstyle
''  ''  fiveoldstyle
''  ''  sixoldstyle
''  ''  sevenoldstyle
''  ''  eightoldstyle
''  ''  nineoldstyle
''  ''  none
''  ''  none
'〈'  ''  angleleft
'−'  ''  minus
'〉'  ''  angleright
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
'℧'  ''  uni2127
''  ''  none
'○'  ''  circle
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
'Ω'  ''  Omega
''  ''  none
''  ''  none
''  ''  none
'〚'  ''  uni301A
''  ''  none
'〛'  ''  uni301B
'↑'  ''  arrowup
'↓'  ''  arrowdown
'`'  ''  grave.ts1
''  ''  none
''  ''  born
'⚮'  ''  divorced
''  ''  died
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  leaf
'⚭'  ''  married
'♪'  ''  musicalnote
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  tildelow
''  ''  hyphendbl.alt
''  ''  breve.ts1
''  ''  caron.ts1
''  ''  hungarumlaut.ts1
''  ''  dblgrave.ts1
'†'  ''  dagger
'‡'  ''  daggerdbl
'‖'  ''  uni2016
'‰'  ''  perthousand
'•'  ''  bullet
'℃'  ''  uni2103
''  ''  dollaroldstyle
''  ''  centoldstyle
'ƒ'  ''  florin
'₡'  ''  colonmonetary
'₩'  ''  uni20A9
'₦'  ''  uni20A6
''  ''  guarani
'₱'  ''  peso
'₤'  ''  lira
'℞'  ''  recipe
'‽'  ''  uni203D
''  ''  gnaborretni
'₫'  ''  dong
'™'  ''  trademark
'‱'  ''  uni2031
''  ''  paragraph.alt
'฿'  ''  uni0E3F
'№'  ''  afii61352
'⁒'  ''  discount
'℮'  ''  estimated
'◦'  ''  openbullet
'℠'  ''  uni2120
'⁅'  ''  uni2045
'⁆'  ''  uni2046
'¢'  ''  cent
'£'  ''  sterling
'¤'  ''  currency
'¥'  ''  yen
'¦'  ''  brokenbar
'§'  ''  section
''  ''  dieresis.ts1
'©'  ''  copyright
'ª'  ''  ordfeminine
''  ''  copyleft
'¬'  ''  logicalnot
'℗'  ''  uni2117
'®'  ''  registered
''  ''  macron.ts1
'°'  ''  degree
'±'  ''  plusminus
'²'  ''  twosuperior
'³'  ''  threesuperior
''  ''  acute.ts1
'µ'  ''  mu
'¶'  ''  paragraph
'·'  ''  periodcentered
'※'  ''  uni203B
'¹'  ''  onesuperior
'º'  ''  ordmasculine
'√'  ''  radical
'¼'  ''  onequarter
'½'  ''  onehalf
'¾'  ''  threequarters
'€'  ''  Euro
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
'×'  ''  multiply
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
''  ''  none
'÷'  ''  divide
tcrm 0 246

(您需要在末尾添加空行,不幸的是 Stackexchange 会将其吃掉)。

从我的快速测试来看,它为textcomp字形提供了正确的 unicode 字符,但进一步测试会更好。tex4ht如果一切正常,我会将此作为错误修复发布到问题跟踪器。

在此处输入图片描述

答案2

从历史上看,重音符 (0x60) 被渲染为左单引号。在 LaTeX 中,这种情况仍然会发生。例如,在我的计算机上,使用 Evince 作为查看器时,\textasciigrave来自包的textcomp被显示为引号latex,但是使用 xdvi 时它被显示为重音符,使用pdflatexEvince 时它也是重音符。htlatex因此,严格来说,选择渲染引号并不是一个错误,但考虑到现代惯例,这是一个有点奇怪的选择。

一种解决方案是修改htlatex/tex4ht字符映射,但使用 LaTeX 源中的替代方法可能更容易,该替代方法在 dvi/pdf 和htlatex输出中都呈现为重音符。在我的系统上,文字反引号或字形 18 效果很好。MWE:

\documentclass{article}
\usepackage{textcomp}
\usepackage{amssymb}
\begin{document}
\begin{enumerate}
\item textcomp grave: \textasciigrave
\item amssymb backprime: $\backprime$
\item escape literal backtick: \`{}
\item math mode backtick: $`$
\item glyph 18: \symbol{18}
\end{enumerate}
\end{document}

相关内容