PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Units und serifenlose Schrift



Seven-X
07-11-2011, 13:08
Hallo Forum,

ich werde von meiner Uni gezwungen, eine serifenlose Schrift in allen wissenschaftlichen Arbeiten zu nutzen (entsprechend der CD-Vorgabe) und ich habe erhebliche Probleme mit den Serifen im Mathe-Modus.

Erst einmal ein grundlegendes Problem:

Kann mir bitte jemand erklären, mit welchem Befehl auch im Mathemodus alle Zeichen serifenlos werden? Durch die Klasse, die mir die Uni bereitstellt (siehe unten), wird das zwar irgendwie bewerkstelligt, aber erstens verstehe ich nicht, durch welchen Befehl. Zweitens gibt es viele Zeichen, die weiterhin mit Serifen dargestellt werden (z.B. %, alle mit \mathrm aufrecht gesetzten Zeichen)

Um physkalische Einheiten richtig hzu setzen, habe ich bisher immer das Paket units genommen, also im Mathmodus z.B. $L=\unit[10]{km}$

Mit der Vorlage der Uni werden alle Einheiten mit Serifen dargestellt. Erst durch Nutzen von \mathsf bekomme ich die weg. Dieses ist natürlich ziemlich umständlich. Kennt jemand Abhilfe, wie ich das für das ganze Dokument so einstellen kann, dass alles serifenlos dargestellt wird.



\documentclass[ngerman]{tudform}
\renewcommand{\familydefault}{\sfdefault}
\usepackage[utf8]{inputenc}
\setlength{\parindent}{0pt}
\usepackage{units}
\usepackage{babel}
\begin{document}
Dies ist ein kurzer serifenloser Text, mit einer Angabe einer physikalischen
Größe mit Zahl und Einheit: $L=\unit[10]{km}$.
\end{document}


Zur Erläuterung des Beispiels: Es wird dabei die Klasse tudform genutzt. Die Klassendefinition, so wie ich sie von der Uni bekommen habe, ist allerdings ziemlich wüst (und ich als Latex-Laie sehe da kaum durch). Hier Klasse (etwas gekürzt):



%
% Formular-Klasse fuer die TU Dresden
% Autor: Klaus Bergmann
%
\def\fileversion{1.2}
\def\filedate{2011/05/02 }
\def\filename{tudform}

\NeedsTeXFormat{LaTeX2e} \ProvidesClass{\filename}[\filedate Formular-Klasse fuer die TU Dresden, (c) by Klaus Bergmann]
\typeout{Class: '\filename' Version \fileversion, Formularvorlage der Technischen Universitaet Dresden}

\makeatletter

\newif\if@logo
\DeclareOption{logo}{\@logotrue}
\newif\if@ddc
\DeclareOption{ddc}{\@ddctrue}

\newif\if@sansmath\@sansmathtrue
\DeclareOption{serifmath}{\@sansmathfalse}

% Papierformate <> A4 werden abgefangen, weil das Formular immer in A4 gedruckt wird
\DeclareOption{a5paper}{}\DeclareOption{b5paper}{} \DeclareOption{letterpaper}{}\DeclareOption{legalp aper}{}\DeclareOption{executivepaper}{}

\def\@super@class{article}
\DeclareOption{report}{\def\@super@class{report}}

\DeclareOption*{\PassOptionsToClass{\CurrentOption }{\@super@class}}
\ProcessOptions\relax
\LoadClass[a4paper]{\@super@class}

\RequirePackage{graphicx}
\RequirePackage{ifthen}

% Schriftspezifische Definitionen
\DeclareFixedFont{\univLightIX}{OT1}{aun}{l}{n}{9}
\DeclareFixedFont{\univBoldIX}{OT1}{aun}{b}{n}{9}
\DeclareFixedFont{\univLightXI}{OT1}{aun}{l}{n}{11 }
\DeclareFixedFont{\univLightObliqueXI}{OT1}{aun}{l }{sl}{11}
\DeclareFixedFont{\univBoldXI}{OT1}{aun}{b}{n}{11}

\renewcommand*{\familydefault}{aun}
\renewcommand*{\seriesdefault}{l}
\renewcommand*{\shapedefault}{n}
\renewcommand*{\sfdefault}{aun}
\renewcommand*{\sffamily}{\fontfamily{aun}\selectf ont}
\renewcommand*{\ttfamily}{\fontfamily{\ttdefault}\ fontseries{\mddefault}\selectfont}

\if@sansmath
\DeclareSymbolFont{aunLetters}{OT1}{aun}{l}{it}
\SetSymbolFont{aunLetters}{bold}{OT1}{aun}{b}{it}
\DeclareSymbolFont{aunOperators}{OT1}{aun}{l}{n}
\SetSymbolFont{aunOperators}{bold}{OT1}{aun}{b}{n}

\DeclareMathSymbol{a}{\mathalpha}{aunLetters}{`a}
\DeclareMathSymbol{b}{\mathalpha}{aunLetters}{`b}
\DeclareMathSymbol{c}{\mathalpha}{aunLetters}{`c}
\DeclareMathSymbol{d}{\mathalpha}{aunLetters}{`d}
\DeclareMathSymbol{e}{\mathalpha}{aunLetters}{`e}
\DeclareMathSymbol{f}{\mathalpha}{aunLetters}{`f}
\DeclareMathSymbol{g}{\mathalpha}{aunLetters}{`g}
\DeclareMathSymbol{h}{\mathalpha}{aunLetters}{`h}
\DeclareMathSymbol{i}{\mathalpha}{aunLetters}{`i}
\DeclareMathSymbol{j}{\mathalpha}{aunLetters}{`j}
\DeclareMathSymbol{k}{\mathalpha}{aunLetters}{`k}
\DeclareMathSymbol{l}{\mathalpha}{aunLetters}{`l}
\DeclareMathSymbol{m}{\mathalpha}{aunLetters}{`m}
\DeclareMathSymbol{n}{\mathalpha}{aunLetters}{`n}
\DeclareMathSymbol{o}{\mathalpha}{aunLetters}{`o}
\DeclareMathSymbol{p}{\mathalpha}{aunLetters}{`p}
\DeclareMathSymbol{q}{\mathalpha}{aunLetters}{`q}
\DeclareMathSymbol{r}{\mathalpha}{aunLetters}{`r}
\DeclareMathSymbol{s}{\mathalpha}{aunLetters}{`s}
\DeclareMathSymbol{t}{\mathalpha}{aunLetters}{`t}
\DeclareMathSymbol{u}{\mathalpha}{aunLetters}{`u}
\DeclareMathSymbol{v}{\mathalpha}{aunLetters}{`v}
\DeclareMathSymbol{w}{\mathalpha}{aunLetters}{`w}
\DeclareMathSymbol{x}{\mathalpha}{aunLetters}{`x}
\DeclareMathSymbol{y}{\mathalpha}{aunLetters}{`y}
\DeclareMathSymbol{z}{\mathalpha}{aunLetters}{`z}
\DeclareMathSymbol{A}{\mathalpha}{aunLetters}{`A}
\DeclareMathSymbol{B}{\mathalpha}{aunLetters}{`B}
\DeclareMathSymbol{C}{\mathalpha}{aunLetters}{`C}
\DeclareMathSymbol{D}{\mathalpha}{aunLetters}{`D}
\DeclareMathSymbol{E}{\mathalpha}{aunLetters}{`E}
\DeclareMathSymbol{F}{\mathalpha}{aunLetters}{`F}
\DeclareMathSymbol{G}{\mathalpha}{aunLetters}{`G}
\DeclareMathSymbol{H}{\mathalpha}{aunLetters}{`H}
\DeclareMathSymbol{I}{\mathalpha}{aunLetters}{`I}
\DeclareMathSymbol{J}{\mathalpha}{aunLetters}{`J}
\DeclareMathSymbol{K}{\mathalpha}{aunLetters}{`K}
\DeclareMathSymbol{L}{\mathalpha}{aunLetters}{`L}
\DeclareMathSymbol{M}{\mathalpha}{aunLetters}{`M}
\DeclareMathSymbol{N}{\mathalpha}{aunLetters}{`N}
\DeclareMathSymbol{O}{\mathalpha}{aunLetters}{`O}
\DeclareMathSymbol{P}{\mathalpha}{aunLetters}{`P}
\DeclareMathSymbol{Q}{\mathalpha}{aunLetters}{`Q}
\DeclareMathSymbol{R}{\mathalpha}{aunLetters}{`R}
\DeclareMathSymbol{S}{\mathalpha}{aunLetters}{`S}
\DeclareMathSymbol{T}{\mathalpha}{aunLetters}{`T}
\DeclareMathSymbol{U}{\mathalpha}{aunLetters}{`U}
\DeclareMathSymbol{V}{\mathalpha}{aunLetters}{`V}
\DeclareMathSymbol{W}{\mathalpha}{aunLetters}{`W}
\DeclareMathSymbol{X}{\mathalpha}{aunLetters}{`X}
\DeclareMathSymbol{Y}{\mathalpha}{aunLetters}{`Y}
\DeclareMathSymbol{Z}{\mathalpha}{aunLetters}{`Z}

\DeclareMathSymbol{,}{\mathpunct}{aunLetters}{`,}
\DeclareMathSymbol{.}{\mathord}{aunLetters}{`.}
\DeclareMathSymbol{/}{\mathord}{aunLetters}{`/}

\DeclareMathSymbol{0}\mathalpha{aunOperators}{"30}
\DeclareMathSymbol{1}\mathalpha{aunOperators}{"31}
\DeclareMathSymbol{2}\mathalpha{aunOperators}{"32}
\DeclareMathSymbol{3}\mathalpha{aunOperators}{"33}
\DeclareMathSymbol{4}\mathalpha{aunOperators}{"34}
\DeclareMathSymbol{5}\mathalpha{aunOperators}{"35}
\DeclareMathSymbol{6}\mathalpha{aunOperators}{"36}
\DeclareMathSymbol{7}\mathalpha{aunOperators}{"37}
\DeclareMathSymbol{8}\mathalpha{aunOperators}{"38}
\DeclareMathSymbol{9}\mathalpha{aunOperators}{"39}

\DeclareSymbolFontAlphabet{\mathsf}{aunOperators}
\DeclareSymbolFontAlphabet{\mathnormal}{aunLetters }
\DeclareMathAlphabet\mathbf{OT1}{aun}{b}{n}
\SetMathAlphabet\mathbf{bold}{OT1}{aun}{b}{n}
\DeclareMathAlphabet\mathit{OT1}{aun}{l}{it}
\SetMathAlphabet\mathit{bold}{OT1}{aun}{l}{it}

\let\operator@font\sf
\fi

bobmalaria
07-11-2011, 13:22
hi,

es gibt das sansmath paket (http://www.ctan.org/pkg/sansmath)

units ist uebrigens nicht mehr aktuell. aktuell ist siunitx (http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/siunitx.html)

gruss

Schweinebacke
07-11-2011, 13:38
Schau Dir auch mal die kpfonts (http://www.ctan.org/pkg/kpfonts) an. Das ist zwar eigentlich ein Palatino-Ableger, aber es gibt auch eine serifenlosen Schrift dazu und es wird AFAIR auch serifenlose Mathematik unterstützt. BTW: Bei TeX Live 2011 ist diese Schriftfamilie in der voreingestellten Komplettinstallation enthalten. Bei MiKTeX kann man ggf. das Paket kpfonts ebenfalls über den Paketmanager installieren.

u_fischer
07-11-2011, 13:46
Kann mir bitte jemand erklären, mit welchem Befehl auch im Mathemodus alle Zeichen serifenlos werden?

Mathematik benutzt nicht eine Schrift sondern ein ganzes Paket. Man kann unterschiedlich Schriften für Variablen, Symbole, u.a. einstellen. In deiner Klasse ist alles nach dem


\if@sansmath
\DeclareSymbolFont{aunLetters}{OT1}{aun}{l}{it}

mehr oder weniger für den Mathemodus verantwortlich.


Zweitens gibt es viele Zeichen, die weiterhin mit Serifen dargestellt werden (z.B. %, alle mit \mathrm aufrecht gesetzten Zeichen)

Nun, das ist die Idee hinter \mathrm: Eine \rm-Schrift zu aktivieren. Aber wenn du unbedingt sans serif haben willst, versuche sowas:


\let\mathrm\mathsf

Das sollte dann eigentlich auch dein units-Problem lösen (das intern \mathrm benutzt). Aber units ist wirklich ziemlich alt. Ein Blick in siunitx kann nicht schaden.