From: Brooks Moses <bmoses@stanford.edu>
Subject: Blank figure hack: is there a better way?
Date: Tue, 10 Aug 2004 10:47:39 -0700 [thread overview]
Message-ID: <4.3.1.2.20040810103020.00b32668@cits1.stanford.edu> (raw)
I'm doing a document which has a large logo in the upper right corner of
the page. The logo (which is on a background layer) intrudes into the text
area by a small amount, and so it would be nice to have the text wrap
around it rather than having to do the wrapping by manual spacers and
line-breaks.
The "obvious" solution that I came up with for this is to put a blank
right-aligned float at the top of each page (it's a presentation where all
the page breaks are hand-coded, so that's easy to do), of about the size of
the part of the logo that intrudes into the text. I defined a class of
floats just for this:
\definefloat[logospacer][logospacer]
(Using the same name for the singular and plural was a hack to get around
the fact that the manual doesn't indicate which of the two the \setupfloat
command uses. Which is it?)
So far, so good. Except that it's exceptionally hard to _get_ a blank
float in ConTeXt, particularly one of a specified size.
If I do this (and specify the size in a \setupfloat command):
\placelogospacer[right, force]{none}{}
I get a nice float exactly the size I want, but with a frame around it and
the word "undefined" in the middle.
If I put something in the float -- say, a letter, or a non-breaking space:
\placelogospacer[right, force]{none}{~}
The float suddenly becomes \textwidth wide, which is of course all wrong,
but at least I have a blank float that's not undefined.
If I put an \hbox in the float, with a fixed width, it stops stretching to
fill the pagewidth, but unless I put something that actually makes a mark
on the page, it still comes up with "undefined". (The "~" that worked
earlier doesn't work if it's in an \hbox.) I tried a number of tricks --
hiding the nothing in a macro, using a zero-height rule, and so forth --
and ConTeXt was sufficiently clever to see through them all.
There's also the annoyance that I have to specify the size of the float by
the size of the \hbox, rather than in a convenient [width=...,height=...]
fashion.
Eventually, what I came up with was putting the mark somewhere off the
page, with the following command:
\placelogospacer[right, force]{none}{\hbox to 1cm{\hskip 5cm x}}
This of course gives "overfull \hbox" errors, and is a really ugly hack,
but the results are acceptable -- a float of size 1cm by 1 x-height, which
doesn't put marks on the physical page.
How can I do this better? Better yet, how can I do this properly?
Thanks,
- Brooks
next reply other threads:[~2004-08-10 17:47 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-10 17:47 Brooks Moses [this message]
2004-08-10 18:44 ` Hans Hagen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4.3.1.2.20040810103020.00b32668@cits1.stanford.edu \
--to=bmoses@stanford.edu \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).