From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/30977 Path: news.gmane.org!not-for-mail From: Sanjoy Mahajan Newsgroups: gmane.comp.tex.context Subject: \textext can fail in definitions in \startMPinclusions Date: Sun, 24 Sep 2006 23:26:16 -0400 Message-ID: Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1159154807 14993 80.91.229.2 (25 Sep 2006 03:26:47 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 25 Sep 2006 03:26:47 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Mon Sep 25 05:26:45 2006 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org 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 1GRh77-0003Hu-MZ for gctc-ntg-context-518@m.gmane.org; Mon, 25 Sep 2006 05:26:37 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 6C1EF1FECA; Mon, 25 Sep 2006 05:26:36 +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 18993-03; Mon, 25 Sep 2006 05:26:31 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 14C3E1FEBF; Mon, 25 Sep 2006 05:26:31 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id A35E21FEBF for ; Mon, 25 Sep 2006 05:26:29 +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 18323-05 for ; Mon, 25 Sep 2006 05:26:25 +0200 (CEST) Original-Received: from elasmtp-mealy.atl.sa.earthlink.net (elasmtp-mealy.atl.sa.earthlink.net [209.86.89.69]) by ronja.ntg.nl (Postfix) with SMTP id 782101FEBE for ; Mon, 25 Sep 2006 05:26:22 +0200 (CEST) Original-Received: from [24.41.6.91] (helo=approximate.corpus.cam.ac.uk) by elasmtp-mealy.atl.sa.earthlink.net with asmtp (TLSv1:AES256-SHA:256) (Exim 4.34) id 1GRh6r-0000Qc-ME; Sun, 24 Sep 2006 23:26:21 -0400 Original-Received: from sanjoy by approximate.corpus.cam.ac.uk with local (Exim 4.60) (envelope-from ) id 1GRh6m-0006CQ-1T; Sun, 24 Sep 2006 23:26:16 -0400 Original-To: ntg-context@ntg.nl X-Mailer: MH-E 7.85; nmh 1.1; GNU Emacs 21.4.1 X-ELNK-Trace: dcd19350f30646cc26f3bd1b5f75c9f474bf435c0eb9d4786a166ed818d7c74704fd4331fb8f8baff5345b5139cf6964350badd9bab72f9c350badd9bab72f9c X-Originating-IP: 24.41.6.91 X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.7 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-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:30977 Archived-At: Another test file for metafun. I know that textext doesn't work in loops. I don't understand how it's implemented enough to know why, but is the reason for its not working in loops the same as the reason it doesn't work in included definitions (related to static analysis of the code)? The following file gives an example of what I mean. It gives a page saying "unknown", but if one uses draw \textext{directly} directly (the commented-out line) then it works as expected. I see the same behavior with \sometxt{}. [All with context 2006.08.08] ==================== cut here ==================== \starttext \startMPinclusions def yy = draw \textext{via yy def} enddef; \stopMPinclusions \startMPcode % draw \textext{directly}; % would give "via yy def" as the text yy; % gives "unknown" as the text on the page \stopMPcode \stoptext ==================== cut here ==================== Oh maybe here's the problem. The log file says (1.tex is the test file): system(mpost -progname=metafun -mem=metafun 1-mpgraph)...executed. Doing that by hand to get PDF gives a figure containing "unknown": $ mpost -progname=metafun -mem=metafun 1-mpgraph $ mptopdf 1-mpgraph.1 But "texexec --mpgraphic 1.mp" produces the right figure. So why does \startMPcode run the wrong command? The following works fine: ==================== cut here ==================== \starttext \startMPinclusions def yy = draw \textext{via yy def}; enddef; \stopMPinclusions \startstaticMPfigure{a} yy; \stopstaticMPfigure \usestaticMPfigure[a] \stoptext ==================== cut here ==================== The log shows startstaticMPfigure running texexec: system(texmfstart --ifchanged=1a-a.mp texexec --mpgraphic 1a-a.mp)...executed. Oh I think I know why mpost is being called with \startMPcode: It gets fooled by the label hidden inside the def, so it thinks that there is no need to run the more complicated texexec comment. I tried two hacks^H^H^H^Htests to check this: 1. Added \forceMPTEXgraphictrue right after \starttext, and then the figure came out fine. Not sure whether this method will work if there is more than one figure (\ifforceMPTEXgraphic might get reset to false after each figure). 2. Added an explicit \textext{} in the figure: \startMPcode label(\textext{jj},(1in,1in)); yy; \stopMPcode and the yy produces the right text. Though I still don't know why the staticMPfigure doesn't need either hack. -Sanjoy