From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/15992 Path: main.gmane.org!not-for-mail From: Hans Hagen Newsgroups: gmane.comp.tex.context Subject: Re: baseline alignment Date: Tue, 10 Aug 2004 00:39:06 +0200 Sender: ntg-context-bounces@ntg.nl Message-ID: <4117FD0A.6020509@wxs.nl> References: <40FF81F3.1060406@seznam.cz> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1092121275 13014 80.91.224.253 (10 Aug 2004 07:01:15 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 10 Aug 2004 07:01:15 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Tue Aug 10 09:01:07 2004 Return-path: Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BuQd8-0008Ki-00 for ; Tue, 10 Aug 2004 09:01:07 +0200 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 3E42F127A3; Tue, 10 Aug 2004 09:00:57 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (ronja.vet.uu.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 01064-01-10; Tue, 10 Aug 2004 09:00:54 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 463661279B; Tue, 10 Aug 2004 09:00:54 +0200 (CEST) Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 9ACCB12796 for ; Tue, 10 Aug 2004 09:00:52 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (ronja.vet.uu.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 00889-07-9 for ; Tue, 10 Aug 2004 09:00:52 +0200 (CEST) Original-Received: from mailrelay02.solcon.nl (unknown [212.45.32.200]) by ronja.ntg.nl (Postfix) with ESMTP id 332FA1279A for ; Tue, 10 Aug 2004 09:00:47 +0200 (CEST) Original-Received: from server-1.pragma-net.nl (dsl-212-84-128-085.solcon.nl [212.84.128.85]) by mailrelay02.solcon.nl (8.12.11/SQL-8.12.11-5/8.12.11) with ESMTP id i7A70jsW027410 for ; Tue, 10 Aug 2004 09:00:45 +0200 Original-Received: by server-1.pragma-net.nl (Postfix, from userid 65534) id B00E3179E7; Tue, 10 Aug 2004 09:00:40 +0200 (CEST) Original-Received: from [10.100.1.191] (unknown [10.100.1.191]) by server-1.pragma-net.nl (Postfix) with ESMTP id B6EF72E8AC for ; Tue, 10 Aug 2004 07:00:37 +0000 (UTC) User-Agent: Mozilla Thunderbird 0.6 (Windows/20040502) X-Accept-Language: en-us, en Original-To: mailing list for ConTeXt users In-Reply-To: <40FF81F3.1060406@seznam.cz> X-Virus-Scanned: clamd / ClamAV version 0.75, clamav-milter version 0.75 on mailrelay02 X-Virus-Status: Clean X-Virus-Scanned: by amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.5 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: by amavisd-new at ntg.nl Xref: main.gmane.org gmane.comp.tex.context:15992 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:15992 Vit Zyka wrote: > Hallo, > > for text positioning in a layer I needed alignment to baseline. I do > not known if I missed something but I did not find it in the current > ConTeXt. So I did that. Baseline is choosen by capital 'B' in the > position parameter. ('B' is adopted from grahicx LaTeX/plain package.) > > Also I add \ctop, \ltop, and \rtop in sence of \cbox, \lbox, and rbox, > respectively. > > I suggest to add the macros to core-box and supp-box. > > Vit Zyka > > %-------------------------------------------- baseline alignment > \setvalue{\??ab\??ab B}{\baselinebox} > \setvalue{\??ab\??ab Bl}{\baselineleftbox} > \setvalue{\??ab\??ab Bc}{\baselinecenterbox} > \setvalue{\??ab\??ab Br}{\baselinerightbox} > \setvalue{\??ab\??ab lB}{\leftbaselinebox} > \setvalue{\??ab\??ab cB}{\centerbaselinebox} > \setvalue{\??ab\??ab rB}{\rightbaselinebox} > \def\baselinecenterbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-.5\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \def\baselineleftbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement-\wd0 > \global\advance\boxhdisplacement-\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \def\baselinerightbox#1% > {\normalhbox > {\setbox0\placedbox{#1}% > \global\boxhdisplacement\boxoffset > \global\boxvdisplacement-\boxoffset > \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > \let\baselinebox=\baselinecenterbox > \let\leftbaselinebox=\baselineleftbox > \let\rightbaselinebox=\baselinerightbox hm, in that case we probably need a few more -) See example below, there is already a grid option; also, keep an eye on topskip (we may need s sl sc sr but who can remember that) I dislike the capital B but the g is available (g from gridline) \unprotect % \v!grid is taken \setvalue{\??ab\??ab m}{\middlebox} \setvalue{\??ab\??ab g}{\baselinemiddlebox} \setvalue{\??ab\??ab gl}{\baselineleftbox} \setvalue{\??ab\??ab gc}{\baselinemiddlebox} \setvalue{\??ab\??ab gr}{\baselinerightbox} \setvalue{\??ab\??ab \v!regel }{\baselinemiddlebox} % \v!grid is taken \setvalue{\??ab\??ab \v!regel\v!links }{\baselineleftbox} \setvalue{\??ab\??ab \v!regel\v!midden}{\baselinemiddlebox} \setvalue{\??ab\??ab \v!regel\v!rechts}{\baselinerightbox} \def\baselinemiddlebox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-.5\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselineleftbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \def\baselinerightbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement\boxoffset \global\boxvdisplacement-\boxoffset \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} \protect \definelayer[text] \setupbackgrounds[text][background=text] \setuplayer[text][width=\textwidth,height=\textheight] \showgrid \starttext \setlayer [text] [location=grid,line=13] {\vtop{\strut \input ward \endstrut}} \setlayer [text] [corner={right,top}, voffset=\topskip, % \topskipgap, location=gl] {\vtop{\begstrut \input ward \endstrut}} x \stoptext i can add that to the kernel if tested > > %------------------------------ \ltop, \rtop, \ctop > \def\lrctop#1#2#% > {\vtop#2\bgroup > \let\\=\endgraf > \forgetall#1\let\next=} > \def\ltop{\lrctop\raggedleft} > \def\rtop{\lrctop\raggedright} > \def\ctop{\lrctop\raggedcenter} ok, i've patched/added: \def\lbox{\makelrcbox\normalvbox\raggedleft} \def\cbox{\makelrcbox\normalvbox\raggedcenter} \def\rbox{\makelrcbox\normalvbox\raggedright} \def\ltop{\makelrcbox\normalvtop\raggedleft} \def\ctop{\makelrcbox\normalvtop\raggedcenter} \def\rtop{\makelrcbox\normalvtop\raggedright} \def\makelrcbox#1#2#3#% {#1#3\bgroup \forgetall \let\\=\endgraf #2\let\next=} ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------