PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schriftart für Umgebungen



rpitting
07-02-2008, 20:55
Auch wenn es vermutlich eine dumme Frage ist: wie kann man die Schriftart von bestimmten Umgebungen ändern, z.B. quote?

Vielen Dank,


Reiner

sommerfee
08-02-2008, 10:08
Wieso sollte dies eine dumme Frage sein?

Zur Antwort:
Ich hatte mir mal letztes Jahr ein Makro namens \AtBeginEnvironment dafür gebastelt:



\documentclass{article}

\makeatletter
% Axel Sommerfeldt
% \href{mailto:caption@sommerfee.de}{\texttt{caption @sommerfee.de}}
% 2007/01/07
\providecommand*\AtBeginEnvironment[1]{%
\@ifundefined{#1}%
{\@latex@error{Environment #1 undefined}\@ehc
\@gobble}%
{\@ifundefined{ABE@env@#1}%
{\expandafter\let\csname ABE@env@#1\expandafter\endcsname
\csname #1\endcsname
\expandafter\let\csname ABE@hook@#1\endcsname\@empty
\@namedef{#1}{\@nameuse{ABE@hook@#1}\@nameuse{ABE@ env@#1}}}%
{}%
\expandafter\g@addto@macro\csname ABE@hook@#1\endcsname}}
\@onlypreamble\AtBeginEnvironment
\makeatother

\AtBeginEnvironment{quote}{\itshape}

\begin{document}
Some text.
\begin{quote}
Hello World!
\end{quote}
Some text.
\end{document}


Vielleicht gibt es auch ein existierendes Paket, was irgendwas in der Art anbietet.

Liebe Grüße,
Axel

pospiech
08-02-2008, 10:36
Vielleicht gibt es auch ein existierendes Paket, was irgendwas in der Art anbietet.

csquotes

siehe für Quellcode zum Einbinden:
http://www.matthiaspospiech.de/latex/vorlagen/allgemein/preambel/7/#toc-zitate

Matthias

voss
08-02-2008, 10:45
Vielleicht gibt es auch ein existierendes Paket, was irgendwas in der Art anbietet.



\documentclass{article}

\makeatletter
\g@addto@macro{\quote}{\itshape}
\makeatother

\begin{document}
Some text.
\begin{quote}
Hello World!
\end{quote}
Some text.
\end{document}

weil jede Umgebung ja durch \umgebung ... \endumgebung dargestellt wird.

Herbert

voss
08-02-2008, 10:50
csquotes

siehe für Quellcode zum Einbinden:
http://www.matthiaspospiech.de/latex/vorlagen/allgemein/preambel/7/#toc-zitate


was hat das mit dem Paket csquotes zu tun?

Herbert

sommerfee
08-02-2008, 11:25
weil jede Umgebung ja durch \umgebung ... \endumgebung dargestellt wird.

Ja, aber mein \AtBeginEnvironment sollte auch bei Umgebungen funktionieren, die optionale und/oder nicht-optionale Parameter haben.

Da "quote" weder noch hat, reicht hier \g@addto@macro, da hast du recht.

Gruß,
Axel

pospiech
08-02-2008, 21:24
was hat das mit dem Paket csquotes zu tun?
Herbert

Vielleicht weil da folgender Code steht:


\usepackage[%
babel, % the style of all quotation marks will be adapted
% to the document language as chosen by 'babel'
german=quotes, % Styles of quotes in each language
english=british,
french=guillemets
]{csquotes}

% All facilities which take a 'cite' argument will not insert
% it directly. They pass it to an auxiliary command called \mkcitation
% which may be redefined to format the citation.
\renewcommand*{\mkcitation}[1]{{\,}#1}
\renewcommand*{\mkccitation}[1]{ #1}

\SetBlockThreshold{2} % Anzahl von Zeilen

\newenvironment{myquote}%
{\begin{quote}\small}%
{\end{quote}}%
\SetBlockEnvironment{myquote}


Matthias

voss
09-02-2008, 10:05
Vielleicht weil da folgender Code steht:


\newenvironment{myquote}%
{\begin{quote}\small}%
{\end{quote}}%



das ist das einzig wichtige ... und dazu brauchst du kein Paket

Herbert