From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/22361 Path: news.gmane.org!not-for-mail From: Peter Rolf Newsgroups: gmane.comp.tex.context Subject: Re: cropping with \limitatefirstline Date: Thu, 08 Sep 2005 16:24:27 +0200 Message-ID: <4320499B.5050002@gmx.net> References: <431EFA3B.8090706@gmx.net> <431F0D7F.9020005@wxs.nl> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1126190033 15507 80.91.229.2 (8 Sep 2005 14:33:53 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 8 Sep 2005 14:33:53 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Thu Sep 08 16:33:47 2005 Return-path: Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by ciao.gmane.org with esmtp (Exim 4.43) id 1EDNL2-00050a-Vo for gctc-ntg-context-518@m.gmane.org; Thu, 08 Sep 2005 16:25:17 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 8D7CA127E1; Thu, 8 Sep 2005 16:25:16 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 20065-01; Thu, 8 Sep 2005 16:25:16 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id CC48D127D5; Thu, 8 Sep 2005 16:22:55 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 12FA8127D5 for ; Thu, 8 Sep 2005 16:22:54 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 19948-01-2 for ; Thu, 8 Sep 2005 16:22:53 +0200 (CEST) Original-Received: from mail.gmx.net (pop.gmx.net [213.165.64.20]) by ronja.ntg.nl (Postfix) with SMTP id 13C97127CF for ; Thu, 8 Sep 2005 16:22:52 +0200 (CEST) Original-Received: (qmail invoked by alias); 08 Sep 2005 14:22:52 -0000 Original-Received: from i5387C7F5.versanet.de (EHLO [192.168.0.3]) [83.135.199.245] by mail.gmx.net (mp025) with SMTP; 08 Sep 2005 16:22:52 +0200 X-Authenticated: #24293357 User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en Original-To: mailing list for ConTeXt users In-Reply-To: <431F0D7F.9020005@wxs.nl> X-Enigmail-Version: 0.92.0.0 X-Y-GMX-Trusted: 0 X-Virus-Scanned: 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: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on smtp.ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:22361 Archived-At: Hi, Hans Hagen wrote: > Peter Rolf wrote: > >> Sorry to bother you Hans, but the macro is not working as expected... >> >> I can see the cropped text (\underbar + special symbols) and there is an >> hyphen symbol in the text only example. >> >> I've added the example code I used for tests with \limitatetext and >> \doboundtext. >> >> > \def\limitatefirstline#1#2#3% > {\hbox\bgroup\strut > \setbox\scratchbox\hbox{#1}% > \ifdim\wd\scratchbox>#2\relax > \setbox\scratchbox\hbox{#3}% > \hsize#2\relax > \advance\hsize-\wd\scratchbox > \setbox\scratchbox\vbox{\forgetall\veryraggedright#1}% > \setbox\scratchbox\vsplit\scratchbox to \lineheight > \vbox > {\unvbox\scratchbox > \global\setbox\plusone\lastbox > \global\setbox\plusone\hbox{\unhbox\plusone}}% ^^^^ > \box\plusone\removeunwantedspaces#3% > \else > #1% > \fi > \egroup} > > of course there must be something to break (not possible with the non > letters, so there you either need to add \hskip0pt's or do real clipping > Hans So it fails in any case of nonbreakable text. How about adding a failsafe test ala \ifdim\dimexpr\wd\plusone+\wd of sentinel\relax>#2\relax \clip[width=\wd\plusone,...]{...#1...}\removeunwantedspaced#3% \else \box\plusone\removeunwantedspaces#3% \fi One (ugly looking) partial character is still better than a bunch of characters, that cross the width border. I have played around with \clip, but it acts a little wild (vertical position and height). Can't subdue it myself... Greetings, Peter