
是否有可能將下面的 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}