在 Latex 中添加特殊字符 Љ Б Д И П و △ ★ ✚ ✠ ✤ ✶ ✸ ❀ ❃

在 Latex 中添加特殊字符 Љ Б Д И П و △ ★ ✚ ✠ ✤ ✶ ✸ ❀ ❃

我正在通过 pdflatex 和 perl 自动生成 pdf,但在 pdflatex 中打印这些字符时遇到了问题:Љ Б Д И П و △ ★ ✚ ✠ ✤ ✶ ✸ ❀ ❃

下面是我使用的语句模板,例如插入了❃:

\documentclass[10pt]{scrartcl}
\usepackage[german,english,greek]{babel}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{graphicx}
\usepackage[utf8x]{inputenc}
\usepackage[
pdftex,
bookmarks=true,
bookmarksopen=true,
bookmarksnumbered=true,
pdfstartpage=1
]
{hyperref}
\usepackage{footnote}
\usepackage{rotating}
\usepackage{tablefootnote}
\usepackage{nonfloat}
\usepackage{ctable}
\usepackage{lipsum}
\usepackage{bibentry}
\usepackage{color}
\usepackage{array}
\usepackage[margin=3cm]{geometry}


\title{\bfseries Test}
\date{}
\begin{document}

\section*{1}


\end{document}

我已经通过以下方式在 Ubuntu 上安装了语言包

sudo apt-get install texlive-lang-european texlive-lang-cyrillic texlive-lang-german texlive-lang-greek 

我认为 Љ Б Д И П 是西里尔字母,但如果我使用

\usepackage[german,english,greek,russian]{babel}

那么希腊语 Α Γ Δ Ε Η Ι Λ Μ Ν Ο Ρ Σ Τ Υ Χ Ω(也包含在我的字符集中)将失败,而 Љ Б Д И П 将成功。所以看起来“希腊语和俄罗斯语”是不相容的?有没有简单的方法可以解决这个问题?是否有可能通过某种方式对“Љ Б Д И П و △ ★ ✚ ✠ ✤ ✶ ✸ ❀ ❃”进行编码,而无需将“俄罗斯”添加到 babel?其他符号定义在哪里? ❀ 例如是 U+2740。我想我必须使用:

\DeclareUnicodeCharacter{2740}{ ... }

然而我必须知道❀的乳胶版本。

答案1

以下是我必须做的事情:

  • 套餐

代码:

\documentclass[a4paper,12pt,landscape,enabledeprecatedfontcommands]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage[T1,T2A]{fontenc}     
\usepackage[russian,arabic,farsi,greek,german]{babel}
\usepackage{arabtex}

代码:

\usepackage{pifont}
\DeclareUnicodeCharacter{10048}{ \ding{95} }
\DeclareUnicodeCharacter{10051}{ \ding{93} }
...
  • 对于西里尔字符 Љ Б Д И П 和希腊字符 Α..Ω:

代码:

\textcyrillic{П}
\textgreek{Ω}

代码:

   \RL{w}

结论:

  1. 德语、英语由 babel 处理
  2. 西里尔符号由 \textcyrillic{} 处理
  3. 希腊符号由 \textgreek{} 处理
  4. 阿拉伯符号由 \RL{} 处理
  5. wingding 条目由 pifont、\ding 和 \DeclareUnicodeCharacter 处理

笔记:

  1. babel usepackage 语句中的语言似乎互相覆盖。因此使用 \textcyrillic 和 \textgreek。
  2. 我使用 utf8x 作为输入
  3. 当使用 arabtex 时,我还必须添加 enabledeprecatedfontcommands

答案2

最简单的方法是使用 xelatex\lualatex 和具有您需要的所有字形的字体:


姆韦


\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeSerif}

\begin{document}

Adding special characters 
Љ Б Д И П و △ ★ ✚ ✠ ✤ ✶ ✸ ❀ ❃ 
in \LaTeX

\end{document}

不幸的是,大多数字体都不是这种情况,因此,根据您所需的字体样式和符号,最好只更改主字体,如示例中所示,或者仅在宏中更改字体以使用不同的字体键入选定的符号,或者从包中获取这些符号bbdingamssymb至少为示例中的一些星号和十字号提供命令),或者甚至使用宏,符号仅由小图像(约 1em 左右...)提供。如果图像是导出为 pdf 的矢量绘制(svg),则结果是完美的。

相关内容