PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bilder in \multicols umgebung



m4ntel
22-06-2007, 12:52
hi,

ich versuche gerade eine enzyklopädie zu erstellen und habe dabei mehrere probleme...
also grundlage nehme ich die scrbook-klasse aus dem KOMA-script...
das dringendste problem ist die einbettung von bildern in einem zweispaltigen fließtext, die nicht so funktioniert wie ich das gerne hätte...
minimalbsp.:


\documentclass{scrbook}
...
\usepackage{multicol}
...
\begin{document}
...
\begin{multicols}{2}
...
\begin{figure}[h]
\centering
\includegraphics[width=0.9\linewidth]{funeral1.jpg}
\label{fig:funeral1}
\end{figure}
...
\end{multicols}
...
\end{document}


wenn ich es so kompiliere, wird (zumindest im pdf) das bild nicht angezeigt...
mit /twocolumn funktioniert es zwar, aber dann trennt er die spalten nicht mehr sauber voneinander...

wie soll ich also die grafiken einbinden, damit es klappt? weder im scrguide noch bei google wurde ich bisher fündig...
bzw. wie kann ich alternativ /twocolumn anweisen die zeilenenden im blocksatz 'hart' zu begrenzen?

m4ntel
22-06-2007, 13:15
okay, ich habe mittlerweile eingesehen, dass die float umgebung


\begin{figure}
\end{figure}

in \multicols nicht funktioniert, also bleibt mir nur das einbinden an exakt vorgegebener stelle, sehe ich das richtig?

countbela666
22-06-2007, 13:21
Hallo,

laut multicol-Doku ist die Sternversion der Gleitumgebungen anzuwenden, die sich in ihrer Funktionalität gegenüber ihrer Pendants außerhalb der multicols-Umgebungen jedoch leicht unterscheidet (s. multicol.pdf (ftp://tug.ctan.org/pub/tex-archive/macros/latex/required/tools/multicol.pdf) S. 4).

Grüße
Marcel

bobmalaria
22-06-2007, 13:28
hi,

ich habe dieses dokument gefunden
http://www.tug.org/TeXnik/multicols/2columnArticleWithPics.pdf
mit dem multicol paket funktionieren wohl keine floats so wie du willst.

gruß

m4ntel
22-06-2007, 13:30
laut multicol-Doku ist die Sternversion der Gleitumgebungen anzuwenden, die sich in ihrer Funktionalität gegenüber ihrer Pendants außerhalb der multicols-Umgebungen jedoch leicht unterscheidet (s. multicol.pdf (ftp://tug.ctan.org/pub/tex-archive/macros/latex/required/tools/multicol.pdf) S. 4).


leicht unterscheiden ist gut, das bild wird automatisch auf die nächxste seite verschoben, da das 'hier platzieren' mittels [h] nicht funktioniert... ergo, für eine enzyklopädie unbrauchbar... naja, dann muss ich wohl mit dem fehlenden float leben...

edico
22-06-2007, 22:58
.. ich versteh das gar nicht. Was willst Du denn auch mit float, wenn es nicht floaten soll? Ausserdem ist die Option 'h' alleine sowieso Unsinn, weil float es immer 'erweitert' auf 'ht'. Deswegen auch das 'Floaten' auf die nächste Seite. Ferner gehören Extension nicht zur graphic; der basename reicht - macht LaTeX allein (besser).

Vielleicht gibt Dir das Beispiel weitere Anregungen:

%
% float-Objekte: figure, table, multicol
%
\documentclass{report}
\usepackage{multicol}

\usepackage[demo]{graphicx}
\usepackage{picins} %%

\usepackage{xcolor}

%--- macro 2col-with-pic -----------------------------------
\newcounter{myFCounter}[section]
\newcommand{\myFigure}[3]{%
\begin{center}\begin{minipage}[t]{\columnwidth}%
\begin{center}\refstepcounter{myFCounter}\vspace{1 ex}%
\includegraphics[width=#1\columnwidth,keepaspectratio]{#2}\ \\%
\sc Abb. \thesection .\arabic{myFCounter}:\ \rm #3
\vspace{1ex}\end{center}%
\end{minipage}\end{center}
}
%-----------------------------------------------------------

\usepackage[colorlinks]{hyperref}

\def\x{Because tables cannot be split across pages, the best placement for them is typically the top of the page nearest their initial cite. To ensure this proper ``floating'' placement of tables, use the environment table to enclose the table's contents and the table caption. The contents of the table itself must go in the tabular environment, to be aligned properly in rows and columns, with the desired horizontal and vertical rules. Again, detailed instructions on tabular material is found in the \LaTeX\ User's Guide. Like tables, figures cannot be split across pages; the best placement for them is typically the top or the bottom of the page nearest their initial cite. To ensure this proper ``floating'' placement of figures, use the environment figure to enclose the figure and its caption. }

\begin{document}

\chapter{Test a Test}

\begin{multicols}{2}

\section{Tables and Figures}
\x

\begin{table*}[tp]
\centering
\caption{Some Typical Commands}
\begin{tabular}{|c|c|l|} \hline
Command&A Number&Comments\\ \hline
\texttt{{\char'134}alignauthor} & 100& Author alignment\\ \hline
\texttt{{\char'134}numberofauthors}& 200& Author enumeration\\ \hline
\texttt{{\char'134}table} & 300 & For tables\\ \hline
\texttt{{\char'134}table*} & 400& For wider tables\\\hline
\end{tabular}
\end{table*}
% end the environment with {table*}, NOTE not {table}!

\x

%\begin{figure} %<<----- Package multicol Warning:
% Floats and marginpars not allowed
% inside `multicols' environment!
{\centering
\includegraphics[width=.5\linewidth]{mouse}
\caption{A graphic} }
%\end{figure}

\x

\myFigure{.35}{mouse}{Macro of mouse}

\x

Alternative there is a nice maco by Herbert Voss that is placing figures in a column with a caption directly and without any problem.

\begin{figure*}[tp]
\centering
\includegraphics[width=.8\textwidth]{mouse}
\caption{A graphic that needs to span two columns of text.}
\end{figure*}

\x\x
\end{multicols}


{\centering{%
\piccaption{Yet another graphic to span no multicols\label{blackandwhitegraphic}}
\parpic[c]{\includegraphics[width=.25\textwidth]{mouse}}
\vspace{40mm} }}% space depends on graphic size

\begin{multicols}{2}
\section{Misc}
\x
\end{multicols}

\end{document}

edico

m4ntel
24-06-2007, 18:45
.. ich versteh das gar nicht. Was willst Du denn auch mit float, wenn es nicht floaten soll? Ausserdem ist die Option 'h' alleine sowieso Unsinn, weil float es immer 'erweitert' auf 'ht'. Deswegen auch das 'Floaten' auf die nächste Seite. Ferner gehören Extension nicht zur graphic; der basename reicht - macht LaTeX allein (besser).

ich will schon float, aber er hat es eben nicht fließen lassen, sondern immer an den anfang der nächsten spalte gesetzt...

ich werde mri demnächst mal das bsp zu gemüte führen, mit so extensiver programmierung habe ich mich bisher noch nicht beschäftigt...
aber auf jeden fall danke erstmal...

edico
25-06-2007, 19:24
ich will schon float, aber er hat es eben nicht fließen lassen, sondern immer an den anfang der nächsten spalte gesetzt...


... und das kenn ich unter dem Begriff floaten. Was verstehst Du darunter?

edico

m4ntel
25-06-2007, 20:45
... und das kenn ich unter dem Begriff floaten. Was verstehst Du darunter?

edico

das es zwar fließt, aber eben auch u.U. an den bottom gesetzt wird...
oder habe ich da jetzt einige begriffe velwechsert?

edico
26-06-2007, 07:18
Option b (evtl. !b, bp) versuchen, was keine Garantie bietet (der Algorithmus ist schon sehr mächtig, weil TeX eben gerade nicht u.U., sondern defaultseitig TOP setzt! und meistens layouttechnisch besser, als das manuelle Herumgefrickele von Pseudotypographen seine Aufgabe löst). In Deinem MB hast Du auf alle Fälle mit der Option h am Ziel vorbeigeschossen - schau Dir am besten auch nochmal die Manpage von float an.

edico

P.S. was ich vergas: schau Dir stfloats package an