.png)
Ist es möglich, die folgenden Unicode-Zeichen (normal, kursiv und fett) in die normale Computerschrift von Latex zu konvertieren?
Ŧ:
u+0166
(lateinischer Großbuchstabe t mit Strich)ŧ:
u+0167
(lateinischer Kleinbuchstabe t mit Strich)
Antwort1
Es ist in CM Unicode
, aber nicht in Latin Modern
, Sie können es also mit und XeLaTeX oder LuaLaTeX verwenden fontspec
: Da der Standard für die Fontspec Latin Modern ist, müssen Sie angeben, dass Sie CM-Unicode verwenden:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\begin{document}
Here it is:
Ŧ ŧ
\end{document}
Antwort2
Mit XeLaTeX oder LuaLaTeX geben Sie einfach die Zeichen ein und Sie erhalten sie, sofern die aktuelle Schriftart über entsprechende Glyphen verfügt.
Wenn Sie eine Schriftart verwenden, die die Glyphen nicht enthält, können Sie sie unter XeLaTeX oder LuaLaTeX erstellen (ich gehe davon aus, dass die Schriftart U+00AF MACRON enthält). Dazu müssen Sie natürlich Folgendes angeben:ad hocDefinitionen, die für jeden gewünschten Stil erstellt werden müssen. Hier ist eine, die für aufrechte Schriftarten funktioniert; versuchen Sie es nicht mit Kursivschrift. ;-)
Es sollte jedoch nicht zu schwierig sein, horizontale Unterschneidungen hinzuzufügen, wenn die Schriftart geneigt ist.
\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}
Mit einigen Änderungen können die Makros auch mit funktionieren pdflatex
. Hier ist der Code etwas komplexer, um sicherzustellen, dass er mit allen Engines funktioniert, aber die Idee ist, ihn \tstroke
je nach Engine auf geeignete Weise zu definieren. Die pdflatex
Version verwendet \={}
(den Makron-Akzent).
\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}
Hier ist eine Version, die den Abstand hinzufügt, wenn die aktuelle Schriftart schräg ist.
\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}
Die Ausgabe für aufrecht stehende Buchstaben ist wie zuvor. Hier ist die Ausgabe für kursiv.
Die unterschiedlichen Abmessungen sollten selbstverständlich an die Haupttextschriftart angepasst sein.
Eine Alternative zu pdflatex
ist die Verwendung von T4-codierten Schriftarten, die jedoch nur im Bitmap-Format verfügbar sind. Die Glyphen sind in den Steckplätzen "97
und codiert "B7
, sodass dies schnell eingerichtet werden kann.
\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}