以下の 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}