PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grafiken immer automatisch zentrieren



romanczar
26-01-2009, 13:35
Hi,
gibt es irgendeinen Trick für die Präamebel, sodass Grafiken mit \includegraphics immer automatisch zentriert werden? Das manuelle zentrieren ist irgendwie umständlich...

Gruß
romanczar

sofa-surfer
26-01-2009, 14:49
Hallo,
meinst Du tatsächlich \includegraphics oder eher den Inhalt einer figure-Umgebung? Für letzteres könntest Du bspw. ein Paket wie floatrow (http://www.ctan.org/tex-archive/help/Catalogue/entries/floatrow.html) verwenden, um das Layout Deiner Gleitumgebungen ganz nach Deinem Geschmack anzupassen.

Matthias

romanczar
26-01-2009, 14:54
Hm.. jetzt verwirrst du mich mit Begriffen ;-)

Mein erhofftes Ergebnis ist, dass alle tabellen und Abbildungen inkl. ihrer Unterschriften zentriert angeordnet werden, ohne das ich jedesmal einen center-Befehl verwenden muss

voss
26-01-2009, 14:56
Hi,
gibt es irgendeinen Trick für die Präamebel, sodass Grafiken mit \includegraphics immer automatisch zentriert werden? Das manuelle zentrieren ist irgendwie umständlich...


Hier für figure, für table geht es ähnlich


\makeatletter
\renewenvironment{figure}[1][]{%
\@float{figure}%
\centering}{\end@float}
\makeatother


Herbert

romanczar
26-01-2009, 15:07
Super. Danke!

romanczar
03-02-2009, 11:08
Gibt es auch eine Möglichkeit automatisch alle Grafiken auf 80% der Textbreite zu beschränken? Man kann das bei Lyx manuell für jede grafik einstellen, aber das ist etwas umständlich...

Ich hätte gerne eine Maximum von 80%, aber falls die Grafik kleiner ist soll sie möglichst nicht skaliert werden... Geht das?

romanczar
03-02-2009, 11:31
Ich versuche außerdem noch irgendwie entweder

1. Automatisch einen feinen Rahmen um das Gleitobjekt zu bekommen. Scheitere aber mit \fbox{xxx}
2. Noch besser: Nur oben und unten eine/zwei feine Linien.

Mir ist einfach die Syntax des \renewcommand nicht klar...

edico
03-02-2009, 15:48
Du könntest es so versuchen -- angelehnt an APA-Regeln:



\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{hyperref}

%%% -----------------------------------------------------------------------
%%% Bild
%%% -----------------------------------------------------------------------
\newcommand{\Bild}[3]{%
\begin{figure}[htbp]%
\centering%
\hrulefill\par\vspace{2ex}\par%
\includegraphics[width=.8\linewidth]{#1}% Bildbreite
\vspace{1ex}\par \hrulefill
\caption{#2}\label{fig:#3}%
\end{figure}
}

\begin{document}
ein wenig Text

\Bild{tiger}{Bildunterschrift}{label}

ein wenig Text mit Referenz auf Bild\,\ref{fig:label}
\end{document}


edico

voss
03-02-2009, 16:46
Du könntest es so versuchen -- angelehnt an APA-Regeln:


mit Größenanpassung (ungetestet)



\newsavebox\IBox

\newcommand{\Bild}[3]{%
\begin{figure}[htbp]
\centering
\sbox\IBox{\includegraphics{#1}}
\hrulefill\par\vspace{2ex}\par
\ifdim\wd\IBox>0.8\textwidth\resizebox{0.8\textwidth}{!}{\usebox\ IBox}
\else\usebox\IBox\fi
\vspace{1ex}\par \hrulefill
\caption{#2}\label{fig:#3}
\end{figure}}

Herbert

sofa-surfer
03-02-2009, 17:06
Hier noch mal Werbung für das floatrow-Paket:


\documentclass{scrartcl}
\usepackage{floatrow}
\floatsetup{floatwidth=.8\textwidth,precode=rule,p ostcode=rule}
\begin{document}
\begin{figure}
\rule{\textwidth}{2cm}
\caption{Der Titel zur Abbildung. Hier sehen wir eine wunderbare schwarze Box, die automatisch maximal nur 80% der Textbreite einnimmt.}
\end{figure}
\end{document}


Matthias

romanczar
20-02-2009, 21:07
Kann man mit floatrow auch in der Präambel bestimmen, wie die Positionierung der float Umgebung aussieht? ich hab damit mit Lyx ziemliche Probleme...

WolleKK
12-01-2010, 00:56
Hier für figure, für table geht es ähnlich


\makeatletter
\renewenvironment{figure}[1][]{%
\@float{figure}%
\centering}{\end@float}
\makeatother


Herbert
Halli hallo,
ich weiß, es Positionierung hängt hier den meisten User aus dem Hals heraus, aber wenn ich diesen renewenviroment-Befehl benutze, werden meine Positionierungs-Empfehlungen an LaTex ignoriert. Ich habe als Test-Grafik Flyer.pdf angewendet, eine kleine Grafik, die mit 1\textwidth etwa 1/10 der Höhe einnimmt.

Hier funktioniert es noch

\documentclass[12pt,a4paper,fleqn]{scrreprt}
\usepackage{graphicx}
\begin{document}
Text

\begin{figure}[t]
\includegraphics[width=1\textwidth]{Flyer.pdf}
\caption{Oben}
\end{figure}

\begin{figure}[b]
\includegraphics[width=1\textwidth]{Flyer.pdf}
\caption{unten}
\end{figure}

Text

\end{document}

Hier nicht mehr

\documentclass[12pt,a4paper,fleqn]{scrreprt}
\usepackage{graphicx}

\makeatletter
\renewenvironment{figure}[1][]{%
\@float{figure}%
\centering}{\end@float}
\makeatother

\begin{document}
Text

\begin{figure}[t]
\includegraphics[width=1\textwidth]{Flyer.pdf}
\caption{Oben}
\end{figure}

\begin{figure}[b]
\includegraphics[width=1\textwidth]{Flyer.pdf}
\caption{unten}
\end{figure}

Text

\end{document}


Kann mir jemand da helfen?

Danke und beste Grüße,
Wolfgang

Xenara
12-01-2010, 07:05
Das müsste einer der Profis noch verifizieren, aber es scheint, als würde in dem Code das optionale Argument fehlen. Zumindest funktioniert es, wenn man das renewcommand so erweitert:



\makeatletter
\renewenvironment{figure}[1][]{%
\@float{figure}[#1]%
\centering}{\end@float}
\makeatother

WolleKK
12-01-2010, 13:56
Hi Xenara,

super, es klappt so :) Ich danke dir vielmals

voss
12-01-2010, 14:04
Das müsste einer der Profis noch verifizieren, aber es scheint, als würde in dem Code das optionale Argument fehlen. Zumindest funktioniert es, wenn man das renewcommand so erweitert:



\makeatletter
\renewenvironment{figure}[1][]{%
\@float{figure}[#1]%
\centering}{\end@float}
\makeatother



\makeatletter
\g@addto@macro{\figure}{\centering}
\makeatother

ist etwas kürzer ...

Herbert