Grupos de Google ya no admite nuevas publicaciones ni suscripciones de Usenet. El contenido anterior sigue siendo visible.

Changing the margins of a page populated with floats

Visto 28 veces
Saltar al primer mensaje no leído

Igor

no leída,
29 abr 2011, 11:46:4329/4/11
a
Hello,

I am trying to suppress the "Float too large for page"-warning
(exceeding the text-height by merely a few baseline skips).

Is there a way to specifically target the margins (e.g. with
\newgeometry) of a page occupied only by a large float without
breaking the preceding text with \clearpage?

My only working example is

\newdimen\deftextheight
\setlength{\deftextheight}{\textheight}
\addtolength{\textheight}{2em} % set temporarily smaller bottom
margin
\begin{figure}[!p]
...
\end{figure}
\afterpage{ \setlength{\textheight}{\deftextheight} }

But it apparently disrupts the default layout set with \geometry{} in
the preamble (the bottom margin remains quite small and even
\restoregeometry does not help).

Many thanks in advance,

Igor

Robin Fairbairns

no leída,
1 may 2011, 5:13:421/5/11
a
Igor <chi...@yandex.ru> writes:

> I am trying to suppress the "Float too large for page"-warning
> (exceeding the text-height by merely a few baseline skips).

note that the warning occurs at the time you specify the float, not when
it's placed. fixing the float page doesn't help, since at the time the
page is put onto the defer list, the actual page isn't known.

> Is there a way to specifically target the margins (e.g. with
> \newgeometry) of a page occupied only by a large float without
> breaking the preceding text with \clearpage?
>
> My only working example is
>
> \newdimen\deftextheight
> \setlength{\deftextheight}{\textheight}
> \addtolength{\textheight}{2em} % set temporarily smaller bottom
> margin
> \begin{figure}[!p]
> ...
> \end{figure}
> \afterpage{ \setlength{\textheight}{\deftextheight} }
>
> But it apparently disrupts the default layout set with \geometry{} in
> the preamble (the bottom margin remains quite small and even
> \restoregeometry does not help).

i'm not surprised.

using the fancyhdr package (and no doubt classes that incorporate it
like memoir and koma*) you can create a different page style for a
float, so you can modify the positions of the page number, etc., for
floats.

you fool the float code by putting the actual float in box that's too
small for it, inside the actual \begin/\end{figure} (or whatever) --
something like

\begin{minipage}[t][\textheight]{\textwidth}
<your float and its caption>
\vss % hides extra height
\end{minipage}

if your problem comes from the caption, alone, you might consider the
fltpage package, which allows you to put the body of the float on one
page, and the caption on an adjacent one in a two-page spread.
--
Robin Fairbairns, Cambridge
my address is @cl.cam.ac.uk, regardless of the header. sorry about that.

Igor

no leída,
4 may 2011, 16:34:304/5/11
a Igor
Dear Robin,

Thanks a lot! The plain TeX \vss plus minipage do the trick with a bit
of tweaking:

\begin{figure}[!p]
\vspace{-1em}
\centering


\begin{minipage}[t][\textheight]{\textwidth}

\includegraphics[width=0.95\textwidth]{example.eps}
\vspace{-0.5em}
\caption{...}


\vss % hides extra height
\end{minipage}

\label{fig:example}
\end{figure}

GL

no leída,
4 may 2011, 16:36:224/5/11
a
Le 04/05/2011 22:34, Igor a écrit :
> Dear Robin,
>
> Thanks a lot! The plain TeX \vss plus minipage do the trick with a bit

The plain TeX primitive \vss ;-)

0 mensajes nuevos