我想使用以下特殊引号:
ʼ 代码点:U+02BC
' 代码点:U+2018
' 代码点:U+2019
´ 代码点:U+00B4
` 代码点:U+0060
“ 代码点:U+201C
” 代码点:U+201D
我看了一些答案,但还没有找到一个一致且简单的解决方案来解决我的问题。
我正在写关于预处理的文章,所以我想在文章中提到这些字符。我最后的选择是使用图像。
答案1
除了 MODIFIER LETTER APOSTROPHE U+02BC 之外,所有内容都为 pdflatex 定义,它不是标点符号而是语音符号标记。
\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
ʼ code point: U+02BC
‘ code point: U+2018
’ code point: U+2019
´ code point: U+00B4
` code point: U+0060
“ code point: U+201C
” code point: U+201D
\end{document}
生产
! LaTeX Error: Unicode character ʼ (U+02BC)
not set up for use with LaTeX.
如果出于某种原因你需要在输入中使用 U+02BC,你可以将其映射到普通撇号进行排版,以便
\documentclass{article}
\usepackage[T1]{fontenc}
\DeclareUnicodeCharacter{02BC}{'}
\begin{document}
ʼ code point: U+02BC
‘ code point: U+2018
’ code point: U+2019
´ code point: U+00B4
` code point: U+0060
“ code point: U+201C
” code point: U+201D
\end{document}
工作无错误。
使用 Unicode 字体时,所有字符可能有效也可能无效,这取决于所使用的字体是否包含这些字符。
原始文档与 lualatex 产生
Missing character: There is no ʼ (U+02BC) in font [lmroman10-regular]:+tlig;!
再次,因为 U+02BC 不是标准标点符号。但是 Noto Serif 等更全面的字体具有全套功能,因此运行起来不会出错
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\begin{document}
ʼ code point: U+02BC
‘ code point: U+2018
’ code point: U+2019
´ code point: U+00B4
` code point: U+0060
“ code point: U+201C
” code point: U+201D
\end{document}
如果您的字体缺少 U+02BC(此处为 Georgia),您可以按照上述对 pdflatex 所做的操作,用普通撇号代替。
\documentclass{article}
\usepackage{fontspec}
%\setmainfont{Noto Serif}
\setmainfont{Georgia}
\usepackage{newunicodechar}
\newunicodechar{ʼ}{'}
\begin{document}
ʼ code point: U+02BC
‘ code point: U+2018
’ code point: U+2019
´ code point: U+00B4
` code point: U+0060
“ code point: U+201C
” code point: U+201D
\end{document}