From: Berend de Boer <berend@pobox.com>
Subject: Vertical alignment of arbitrary text
Date: 12 May 2001 16:35:19 +0200 [thread overview]
Message-ID: <87itj6skig.fsf@dellius.nederware.nl> (raw)
Hello Hans,
Is there a construct in ConTeXt to align two arbitrary pieces of text?
For example I wanted a chapter number and the contents of that chapter
to be aligned.
After much blood, sweat and tears I came up with this:
-------------------------------
\def\SimpleHead#1%
{\vtop{\rightaligned{{\switchtobodyfont[36pt]\ }}\par
\rightaligned{\startnarrower[3*left] #1\stopnarrower}}}
\def\myContents#1#2#3%
{\sym{$\bullet$} {\bs #2}\par}
\newdimen\myheight
\newdimen\mydepth
\newbox\myboxA
\newbox\myboxB
\def\ContentsHead#1#2%
{\setbox\myboxA=\vbox{\hsize=5cm
\startframedtext
[frame=off,background=screen,width=5cm]%
In this chapter:\par
\startalignment[right]
\placelist
[section]
[criterium=chapter,
alternative=command,
command=\myContents,
style=boldslanted,
align=left,
interaction=all,
before=,after=]%
\stopalignment
\stopframedtext}%
\myheight=\ht\myboxA
\mydepth=\dp\myboxA
\ht\myboxA=0pt
\advance\mydepth by \myheight
\dp\myboxA=\mydepth
\setbox\myboxB=\vbox
{\hsize=8cm \rightaligned{{\switchtobodyfont[36pt]#1}}\par
\startalignment[left,broad] #2\stopalignment}%
\myheight=\ht\myboxB
\mydepth=\dp\myboxB
\ht\myboxB=0pt
\advance\mydepth by \myheight
\dp\myboxB=\mydepth
\box\myboxA\hfill\box\myboxB}
\def\myhead#1#2%
{\doifemptyelse{#1}{\SimpleHead{#2}}{\ContentsHead{#1}{#2}}}
\setuphead
[chapter]
[header=empty,
style=\bsd,
command=\myhead,
page=right,
after={\blank[2*big]}]
-------------------------------
But is there a better way? This took me surprisingly long and I had to
use the visual debugger to get a clue what was going on. With the
height of both boxes to 0 I've more or less alignment them I think.
(I attempt to emulate the O'Reilly format)
Groetjes,
Berend. (-:
next reply other threads:[~2001-05-12 14:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-12 14:35 Berend de Boer [this message]
2001-05-13 13:04 ` Vertical alignment of arbitrary text, berends o'reilly head Hans Hagen
2001-05-14 14:45 ` Berend de Boer
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=87itj6skig.fsf@dellius.nederware.nl \
--to=berend@pobox.com \
/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).