我正在使用在 Web 表单中输入的文本调用 pdfLaTeX。我想使用正确的 LaTeX 命令替换 LaTeX 不支持的重要字符。
如何获取 LaTeX 支持的字符列表,以便我可以编写替换我认为重要的字符的程序?该方法应包括我将在文档中使用的 usepackage 命令,因为例如该\usepackage[utf8]{inputenc}
命令正在扩展支持的字符列表。
我正在使用 Ubuntu 包管理器提供的 TeX Live 发行版。
答案1
使用该utf8
选项,加载(如果存在)文档中声明的每个输出编码所调用的inputenc
配置文件;例如,使用<enc>def.dfu
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
加载的配置文件将是。在 之前或之后调用t1enc.dfu
真的无关紧要,但我更喜欢这种“更干净”的顺序。fontenc
inputenc
如果fontenc
不加载该包,则会激活非常少的 Unicode 点,正如从 中清楚看到的结果一样ot1enc.dfu
。
但是,可以通过以下声明来扩展受支持的 Unicode 字符列表:
\DeclareUnicodeCharacter{201D}{\textquotedblright}
其中十六进制代码与字符的适当定义一起给出,或通过类似的
\usepackage{newunicodechar}
\newunicodechar{”}{\textquotedblright}
这样做的好处是不需要在代码表中搜索来找到正确的数字。
显示.dfu
文件内容的一个相当粗略的方法是针对以下文件运行 LaTeX
\documentclass{article}
\usepackage[T2A,TS1,T1]{fontenc}
\usepackage[utf8]{inputenc}
\parindent=0pt
\newcommand{\showdfu}[1]{%
\section{Encoding #1}
\begingroup\makeatletter
\renewcommand\DeclareUnicodeCharacter[2]{%
\par Code point: \texttt{##1}, Meaning: \texttt{\detokenize{##2}}, character: {\fontencoding{#1}\selectfont##2}}%
\nonstopmode\lowercase{\input{#1enc.dfu}}
\endgroup
}
\begin{document}
\showdfu{T1}
\showdfu{T2A}
\showdfu{TS1}
\end{document}
应预先加载编码,如示例所示。
答案2
看看综合 Latex 符号列表 (164 页)在这里您可以找到几乎所有想要在 LaTeX 中设置的符号。