From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/16400 Path: main.gmane.org!not-for-mail From: Vit Zyka Newsgroups: gmane.comp.tex.context Subject: Re: baseline alignment Date: Thu, 09 Sep 2004 16:36:55 +0200 Sender: ntg-context-bounces@ntg.nl Message-ID: <41406A87.5020502@seznam.cz> References: <40FF81F3.1060406@seznam.cz> <4117FD0A.6020509@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1094740947 26781 80.91.224.253 (9 Sep 2004 14:42:27 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 9 Sep 2004 14:42:27 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Thu Sep 09 16:42:03 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 1C5Q7e-0008PA-00 for ; Thu, 09 Sep 2004 16:42:02 +0200 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id DE5051278B; Thu, 9 Sep 2004 16:42:01 +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 31241-02; Thu, 9 Sep 2004 16:42:01 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 6138512789; Thu, 9 Sep 2004 16:38:36 +0200 (CEST) Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 8053012789 for ; Thu, 9 Sep 2004 16:38:34 +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 31007-07 for ; Thu, 9 Sep 2004 16:38:33 +0200 (CEST) Original-Received: from smtp.seznam.cz (unknown [212.80.76.43]) by ronja.ntg.nl (Postfix) with SMTP id A46B512777 for ; Thu, 9 Sep 2004 16:38:33 +0200 (CEST) Original-Received: (qmail 8075 invoked from network); 9 Sep 2004 14:36:57 -0000 Original-Received: from unknown (HELO ?192.168.1.45?) (vit.zyka@82.142.74.35) by smtp.seznam.cz with SMTP; 9 Sep 2004 14:36:57 -0000 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7) Gecko/20040616 X-Accept-Language: cs, en-us, en Original-To: mailing list for ConTeXt users In-Reply-To: <4117FD0A.6020509@wxs.nl> 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:16400 X-Report-Spam: http://spam.gmane.org/gmane.comp.tex.context:16400 Hi All, first of all I want to apologize not being responding to several your emails (e.g. this one). My email provider has filtered tens of them as spam... I sighted them just now when I became suspicious of the email delivery. Hans Hagen wrote: > 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) Like this? If so, I can prepare the rest alternatives and to test them. \setvalue{\??ab\??ab s}{\topskipcenterbox} \def\topskipcenterbox#1% {\normalhbox {\setbox0\placedbox{#1}% \global\boxhdisplacement-.5\wd0 \global\advance\boxhdisplacement-\boxoffset \global\boxvdisplacement-\boxoffset \global\advance\boxvdisplacement by\topskip \boxcursor\hskip\boxhdisplacement\raise-\boxvdisplacement\box0}} > I dislike the capital B but the g is available (g from gridline) OK. But is not better to use also \gridrightbox instead of \baselinerightbox, etc. ? > i can add that to the kernel if tested I tested your code and it is all right. > \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=} Great, thank you, Hans. Vit Zyka