Du versuchst, die Schreibmaschinenschrift an \fontdimen 1
zu erkennen. Allerdings gibt \fontdimen 1
die Schrägheit an. Für eine Dicktengleiche wäre hingegen typisch, dass der Wortzwischenraum nicht gedehnt und nicht geschrumpft werden kann, also \fontdimen 3
und \fontdimen 4
0 sind:
\documentclass{scrartcl}
\makeatletter
\newcommand\Schreibmaschine{}
\newcommand\Temph{}
\DeclareRobustCommand\Schreibmaschine{%
\@nomath\Schreibmaschine
\ifdim \fontdimen\thr@@\font >\z@
\ifdim \fontdimen 4 \font >\z@ \ttfamily
\else \normalfont
\fi
\else \normalfont
\fi
}
\DeclareTextFontCommand{\Temph}{\Schreibmaschine}
\makeatother
\begin{document}
\Schreibmaschine
Dies ist ein Text mit \Temph{hervorgehobenen} Teilen.
\end{document}
Hier noch die Erklärungen zu den einzelnen \fontdimen
-Parametern:
Parameter Nummer | Bedeutung |
1 | Schrägheit des Fonts; üblicherweise haben aufrechte Schriften einen Wert von 0pt, während Kursive (\itshape ) und Schräge (\slshape ) einen Wert größer 0 haben. |
2 | Wortzwischenraum; das ist der Standardzwischenraum, der beispielsweise innerhalb einer \mbox verwendet würde. |
3 | Maximale Dehnbarkeit des Wortzwischenraums; um diesen Wert darf der Wortzwischenraum gedehnt werden, ohne dass dies eine Beeinträchtigung des Satzes darstellt. |
4 | Maximale Schrumpfbarkeit des Wortzwischenraums; um diesen Wert darf der Wortzwischenraum vermindert werden, ohne dass dies eine Beeinträchtigung des Satzes darstellt. |
5 | x-Höhe; der Wert von 1ex bei diesem Font; die tatsächliche Höhe des x darf davon abweichen! |
6 | Geviert; der Wert von 1em bei diesem Font; die tatsächliche Breite des m darf davon abweichen! |
7 | Satzende-Abstand; das ist der Abstand, der bei \nonfrenchspacing nach einem Punkt, der auf einen Kleinbuchstaben folgt, eingefügt wird. |
Mathefonts haben statt der angegebenen 7 \fontdimen
-Parametern deutlich mehr (min. 22).
Ein Test gegen \f@family
wäre – in Anlehnung an die in der Frage erwähnte Antwort – natürlich ebenfalls möglich. Allerdings kann man in dem Fall fast nur testen, ob die aktuelle Familie \ttdefault
entspricht, weil man ja unmöglich auf alle Dicktengleichen-Familien, die es gibt, testen kann. Für den Test bietet sich KOMA-Script \ifstr
an, weil das auch dann noch funktioniert, falls \ttdefault
(wie üblich) \long
definiert ist, während \f@family
(wie üblich) nicht \long
definiert ist:
\documentclass{scrartcl}
\makeatletter
\newcommand\Schreibmaschine{}
\newcommand\Temph{}
\DeclareRobustCommand\Schreibmaschine{%
\@nomath\Schreibmaschine
\ifstr{\ttdefault}{\f@family}{\normalfont}{\ttfamily}%
}
\DeclareTextFontCommand{\Temph}{\Schreibmaschine}
\makeatother
\begin{document}
\Schreibmaschine
Dies ist ein Text mit \Temph{hervorgehobenen} Teilen.
\end{document}
Um das zu verstehen, muss man auch nicht erst TeX studieren, sondern muss nur in »LaTeX2ε font selection« die Abschnitt 2.3, »Internals«, und 2.4, »Parameters«, aufmerksam gelesen haben.
beantwortet
12 Sep '13, 19:45
saputello
11.1k●17●43●65
Akzeptiert-Rate:
51%
Ist das nur bei mir so, dass man auf
\@ne
draufklicken kann und man weitergeleitet wird?@Epl <- Das ist genau dieses Feature, je nach Einstellungen bekommst du dann eine Mail. Wie du siehst reicht schon ein Teil des Namens aus.
Frage mich gerade, ob man das nicht unterbinden sollte, wenn ein
\
direkt davor steht…