是否可以将下面的 Unicode 字符放入 Latex 普通计算机现代字符集(正常、斜体和粗体)?
Ŧ :(
u+0166
拉丁文大写字母 t 带删除线)ŧ :(
u+0167
拉丁文小写字母 t 带删除线)
答案1
答案2
使用 XeLaTeX 或 LuaLaTeX,您只需输入字符,如果当前字体有它们的字形,您就会得到它们。
如果您碰巧使用没有字形的字体,在 XeLaTeX 或 LuaLaTeX 下,您可以构建它们(我假设字体有 U+00AF MACRON)。当然,这需要提供特别指定必须为每种所需样式制作定义。以下是适用于直立字体的定义;不要尝试使用斜体。;-)
但是,当字体倾斜时,添加一些水平字距应该不会太难。
\documentclass{article}
\usepackage{fontspec}
\usepackage{relsize,newunicodechar}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\symbol{"AF}}%
\ialign{%
\hfil##\hfil\cr
{\larger[-1]\kern-.05em\symbol{"AF}}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\symbol{"AF}}%
\ialign{%
\hfil##\hfil\cr
\symbol{"AF}\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
经过一些修改,宏也可以与 一起使用pdflatex
。这里的代码有点复杂,以确保它适用于所有引擎,但想法是\tstroke
根据引擎以合适的方式定义。pdflatex
版本使用\={}
(宏重音)。
\documentclass{article}
\usepackage{ifxetex,ifluatex}
\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi
\ifunicodeengine
\usepackage{fontspec}
\newcommand{\tstroke}{\symbol{"AF}}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\tstroke}{\={}}
\fi
\usepackage{newunicodechar,relsize}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\tstroke}%
\ialign{%
\hfil##\hfil\cr
{\larger[-1]\kern-.05em\tstroke}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\tstroke}%
\ialign{%
\hfil##\hfil\cr
\tstroke\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
这是当当前字体倾斜时添加字距调整的版本。
\documentclass{article}
\usepackage{ifxetex,ifluatex}
\newif\ifunicodeengine
\ifxetex\unicodeenginetrue\fi
\ifluatex\unicodeenginetrue\fi
\ifunicodeengine
\usepackage{fontspec}
\newcommand{\tstroke}{\symbol{"AF}}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\tstroke}{\={}}
\fi
\usepackage{newunicodechar,relsize}
\newunicodechar{ŧ}{\texttstroke}
\newunicodechar{Ŧ}{\textTstroke}
\DeclareRobustCommand{\texttstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\larger[-1]\kern-.05em\tstroke}%
\ialign{%
\hfil##\hfil\cr
\ifdim\fontdimen1\font>0pt \kern-.1em\fi
{\larger[-1]\kern-.05em\tstroke}\cr
\noalign{\kern-\ht0 \kern-.7ex}
t\cr
}%
}%
}
\DeclareRobustCommand{\textTstroke}{%
\leavevmode
\vbox{\offinterlineskip
\sbox0{\tstroke}%
\ialign{%
\hfil##\hfil\cr
\ifdim\fontdimen1\font>0pt \kern-.15em\fi
\tstroke\cr
\noalign{\kern-\ht0 \kern-.86ex}
T\cr
}%
}%
}
\begin{document}
\itshape
ŧŦ
\large ŧŦ
\huge ŧŦ
\small ŧŦ
\footnotesize ŧŦ
\end{document}
直立字母的输出与前面相同。这是斜体的输出。
当然,各种尺寸应该适应主文字体。
的替代方法pdflatex
是使用 T4 编码字体,但该字体仅以位图形式提供。字形在插槽"97
和处进行编码"B7
,因此可以快速设置。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T4,T1]{fontenc}
\DeclareUnicodeCharacter{0167}{\texttstroke}
\DeclareUnicodeCharacter{0166}{\textTstroke}
\DeclareTextSymbolDefault{\texttstroke}{T4}
\DeclareTextSymbolDefault{\textTstroke}{T4}
\DeclareTextSymbol{\texttstroke}{T4}{"97}
\DeclareTextSymbol{\textTstroke}{T4}{"B7}
\begin{document}
tŧŦT
\large tŧŦT
\huge tŧŦT
\small tŧŦT
\footnotesize tŧŦT
\end{document}