PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Standardschriftart in Picture-Umgebung ändern?



batzee
04-05-2006, 15:51
Hi!

Soweit so gut, ich habe es nach ein bisschen Googeln geschafft die Standardschriftart auf Computer Modern Roman zu setzen, während für Bild-Captions und Überschriften Computer Modern Sans Serif benutzt wird. Das funktioniert so (ich benutze Dokumentklasse scrbook):

\renewcommand{\rmdefault}{cmr} % Computer Modern
\renewcommand{\sfdefault}{cmss} % Computer Modern Sans Serif

% Bildunterschriften in Sans Serif setzen
\setkomafont{caption}{\sffamily}
\setkomafont{captionlabel}{\sffamily}


Jetzt bleibt noch eine Sache die ich nicht hinkriege:
Wie kann ich den Text in meinen Picture-Umgebungen auch in der Sans Serif Schrift setzen? Gibt es eine Möglichkeit, das mit einer Zeile für alle Pictures zu ändern?

Das wär ne super Sache.

Gruß
batzee

countbela666
04-05-2006, 19:51
Hallo batzee,

Wie kann ich den Text in meinen Picture-Umgebungen auch in der Sans Serif Schrift setzen? Gibt es eine Möglichkeit, das mit einer Zeile für alle Pictures zu ändern?
was hältst du von folgendem:

\documentclass{scrartcl}
\usepackage{blindtext}
\renewcommand{\rmdefault}{cmr}
\renewcommand{\sfdefault}{cmss}
\setkomafont{caption}{\sffamily}
\setkomafont{captionlabel}{\sffamily}
\makeatletter
\gdef\@picture(#1,#2)(#3,#4){%
\@picht#2\unitlength%
\setbox\@picbox\hb@xt@#1\unitlength\bgroup
\hskip -#3\unitlength
\lower #4\unitlength\hbox\bgroup
\ignorespaces\fontfamily{\sfdefault}\selectfont}
\makeatother
\begin{document}
\section{sec1}
\blindtext
\setlength{\unitlength}{1cm}
\begin{figure}
\begin{picture}(10,10)
\put(0,0){\line(1,1){10}}
\put(0,10){\line(1,-1){10}}
\put(5,5){Hallo Welt}
\end{picture}
\caption{Bildunterschrift}
\end{figure}
\end{document}Grüße,
Marcel

batzee
05-05-2006, 09:20
Danke Marcel,

ich versteh dieses wilde Konstrukt zwar nicht aber es funktioniert ;)
Großartig!

Zwei Dinge noch.

1. Ich bekomme die folgende Warnung:

LaTeX Font Warning: Font shape `OT1/cmss/m/it' in size <10.95> not available
(Font) Font shape `OT1/cmss/m/sl' tried instead on input line 27.

Ich habe den Text in meinen Bildern zum Teil mit \em gesetzt. So wie ich es verstehe nimmt er jetzt die slanted-Schrift, da es die kursive nicht gibt. An sich kein Problem, sieht soweit gut aus. Aber kann man die Warnung noch wegkriegen?

2. Es wäre schön wenn die Schrift noch eine Nummer kleiner wäre, so wie bei \small.


Gruß
batzee

countbela666
05-05-2006, 18:37
ich versteh dieses wilde Konstrukt zwar nicht aber es funktioniert ;)keine Angst, ich versteh das auch nicht komplett. Es ist einfach die Originaldefinition der picture-Umgebung um zwei Befehle erweitert. :D

So wie ich es verstehe nimmt er jetzt die slanted-Schrift, da es die kursive nicht gibt. An sich kein Problem, sieht soweit gut aus. Aber kann man die Warnung noch wegkriegen?Richtig. Für Computer Modern Sans Serif gibt es keine Kursive sondern nur einen schräggestellten Schnitt. Die Warnung verschwindet, wenn du anstelle des standardmäßig eingestellten OT1- das T1-Fontencoding verwendest:

\usepackage[T1]{fontenc}

Es wäre schön wenn die Schrift noch eine Nummer kleiner wäre, so wie bei \small.Dann ändere die Umdefinition der picture-Umgebung einfach dementsprechend ab:

\makeatletter
\gdef\@picture(#1,#2)(#3,#4){%
\@picht#2\unitlength%
\setbox\@picbox\hb@xt@#1\unitlength\bgroup
\hskip -#3\unitlength
\lower #4\unitlength\hbox\bgroup
\ignorespaces\fontfamily{\sfdefault}\small\selectf ont}
\makeatother Grüße,
Marcel

batzee
08-05-2006, 08:40
Das sieht großartig aus!
Marcel ich danke dir :-)

voss
08-05-2006, 13:34
\makeatletter
\gdef\@picture(#1,#2)(#3,#4){%
\@picht#2\unitlength%
\setbox\@picbox\hb@xt@#1\unitlength\bgroup
\hskip -#3\unitlength
\lower #4\unitlength\hbox\bgroup
\ignorespaces\fontfamily{\sfdefault}\small\selectf ont}
\makeatother Grüße,


es ginge wohl auch kürzer:


\makeatletter
\long\gdef\picture#1{\small\sffamily\pictur@#1}
\makeatother


Herbert

batzee
14-05-2006, 14:44
Es bleibt immer noch ein Problem, wie ich gerade feststelle!! :(

Die Schrift in meiner Picture-Umgebung ist jetzt wunderschön in Sans Serif gesetzt, aber sobald ich in einem Picture in den Inline-Math-Mode schalte bekomme ich wieder die Standard-Matheschrift die so gar nicht zu sans serif passt...

Nach Lektüre von
diesem Dokument (http://www.tug.org/tex-archive/info/math/voss/mathmode/Mathmode.pdf) von Herbert hab ich gedacht, dass man das vielleicht so beheben kann:


\everymath{\mathsf}


Leider wirkt das nur auf das erste Zeichen von jeder Matheformel. Außerdem ist es auch nicht kursiv oder schräggestellt. Gibt es noch eine bessere Lösung? Vielleicht sogar eine, die nur innerhalb der Picture-Umgebung aktiv wird?

Danke vielmals!

voss
14-05-2006, 15:01
Leider wirkt das nur auf das erste Zeichen von jeder Matheformel. Außerdem ist es auch nicht kursiv oder schräggestellt. Gibt es noch eine bessere Lösung? Vielleicht sogar eine, die nur innerhalb der Picture-Umgebung aktiv wird?



\documentclass[12pt]{article}
\usepackage{sansmath}
\makeatletter
\long\gdef\picture#1{\small\sffamily\sansmath\pict ur@#1}
\makeatother
\begin{document}

\begin{picture}(50,50)
\put(10,10){$a^2+b^2=c^2$}
\end{picture}

\end{document}


Herbert