From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/26341 Path: news.gmane.org!not-for-mail From: Aditya Mahajan Newsgroups: gmane.comp.tex.context Subject: pretty typesetting for matlab files Date: Wed, 15 Mar 2006 01:50:17 -0500 (EST) Message-ID: Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8308557-22393-1142405417=:1200" X-Trace: sea.gmane.org 1142405545 26068 80.91.229.2 (15 Mar 2006 06:52:25 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 15 Mar 2006 06:52:25 +0000 (UTC) Original-X-From: ntg-context-bounces@ntg.nl Wed Mar 15 07:52:22 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 1FJPrl-0002rJ-Ge for gctc-ntg-context-518@m.gmane.org; Wed, 15 Mar 2006 07:52:20 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 1D4AE1276C; Wed, 15 Mar 2006 07:52:17 +0100 (CET) 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 19222-08; Wed, 15 Mar 2006 07:52:16 +0100 (CET) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id C62591277E; Wed, 15 Mar 2006 07:50:28 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 651F21277E for ; Wed, 15 Mar 2006 07:50:27 +0100 (CET) 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 19222-07 for ; Wed, 15 Mar 2006 07:50:24 +0100 (CET) Original-Received: from playinggod.mr.itd.umich.edu (playinggod.mr.itd.umich.edu [141.211.14.79]) by ronja.ntg.nl (Postfix) with SMTP id 580221276C for ; Wed, 15 Mar 2006 07:50:23 +0100 (CET) Original-Received: from aditya.annarb01.mi.comcast.net (c-68-40-50-205.hsd1.mi.comcast.net [68.40.50.205]) by playinggod.mr.itd.umich.edu (smtp) with ESMTP id k2F6oGt6016456 for ; Wed, 15 Mar 2006 01:50:22 -0500 Original-To: mailing list for ConTeXt users 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:26341 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8308557-22393-1142405417=:1200 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Hi, I was trying to define a pretty printing environment for matlab files. The basic requirements that I have are % Numbers should be highlighted in a different color % Identify floating point numbers 1.1 and 1e-3. % Identify brackets % ()[]{} % Identify Punctuation % ,;<=> ... % Identify Operators % ^ + - / * .^ .* % Idenfity strings (enclosed in ' ' and " ") % Identify lines starting with % as comments. Show them % a different color. Identify %{ ... %} blocks as comments % identifiers function return case if else elseif do for while end % variables gt,lt,gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch, [snip].... a huge list The syntax is similar to both perl and MP. I had a look at the verb-*.tex files and tried to write verb-matlab. My attempt is attached. However, it does not work correctly. There are somethings that I could not figure out. 1. How to change the comment identifier. Matlab uses % as line comments and %{ .... %} as block comments. 2. For some reason Matlab variables are not recognized. 3. The punctuations are not identified. 4. '...' is not recognized as a string. The ' is output as a right quotation mark and not _neutral_ '. What would be a good way to include tex commands in the comments? Matlab recognizes %% as a special comment (begining of a cell). Is it possible to somehow translate %% into \MATLABcell, which is \bf by default but the behaviour can be changed if desired? See attachment verb-matlab.tex for my attempt and test.tex for an example. Thanks Aditya -- Aditya Mahajan, EECS Systems, University of Michigan http://www.eecs.umich.edu/~adityam || Ph: 7342624008 --8308557-22393-1142405417=:1200 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=verb-matlab.tex Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=verb-matlab.tex XGlmeFx1bmRlZmluZWRcc2V0dXBwcmV0dHlQTHR5cGUgXGlucHV0IHZlcmIt cGwgXHJlbGF4IFxmaQ0KDQpcdW5wcm90ZWN0DQoNClxnZGVmXE1BVExBQnNl dHNwZWNpYWxzJQ0KICB7XFBMc2V0c3BlY2lhbHN9DQoNClxnZGVmXHNldHVw cHJldHR5TUFUTEFCdHlwZSUNCiAge1xkZWZccHJldHR5aWRlbnRpZmllcntN QVRMQUJ9JQ0KICAgXGxldFxQTGlkZW50aWZpZXJzPVxNQVRMQUJpZGVudGlm aWVycw0KICAgXGxldFxQTHZhcmlhYmxlcz1cTUFUTEFCdmFyaWFibGVzDQog ICBcUExzZXR2YXJpYWJsZXMNCiAgIFxQTHNldGNvbnRyb2xzDQogICBcUExz ZXRoYW5kbGVycw0KICAgXE1BVExBQnNldHNwZWNpYWxzDQogICBcUExzZXRk aWFnbm9zdGljc30NCg0KXHVzZXByZXR0eWlkZW50aWZpZXJzIFxNQVRMQUJp ZGVudGlmaWVycyBcTUFUTEFCc2V0c3BlY2lhbHMNCmZ1bmN0aW9uIHJldHVy biBjYXNlIGlmIGVsc2UgZWxzZWlmIGRvIGZvciB3aGlsZSBlbmQNCg0KXHVz ZXByZXR0eWlkZW50aWZpZXJzIFxNQVRMQUJ2YXJpYWJsZXMgXE1BVExBQnNl dHNwZWNpYWxzDQpndCxsdCxndCxsdCxhbXAsYWJzLGFjb3MsYWNvc2gsYWNv dCxhY290aCxhY3NjLGFjc2NoLA0KYWxsLGFuZ2xlLGFucyxhbnksYXNlYyxh c2VjaCxhc2luLGFzaW5oLGF0YW4sYXRhbjIsYXRhbmgsYXVyZWFkLA0KYXV3 cml0ZSxheGVzLGF4aXMsYmFsYW5jZSxiYXIsYmVzc2VsLGJlc3NlbGssYmVz c2VseSxiZXRhLA0KYmV0YWluYyxiZXRhbG4sYmxhbmtzLGJvbmUsYnJlYWss YnJpZ2h0ZW4sY2FwdHVyZSxjYXJ0MnBvbCwNCmNhcnQyc3BoLGNheGlzLGNk LGNkZjJyZGYsY2VkaXQsY2VpbCxjaG9sLGNsYSxjbGFiZWwsY2xjLGNsZWFy LA0KY2xmLGNsb2NrLGNsb3NlLGNvbG1tZCxDb2xvbixjb2xvcmJhcixjb2xv cm1hcCxDb2xvclNwZWMsY29scGVybSwNCmNvbWV0LGNvbWV0Myxjb21wYW4s Y29tcGFzcyxjb21wdXRlcixjb25kLGNvbmRlc3QsY29uaixjb250b3VyLA0K Y29udG91cjMsY29udG91cmMsY29udHJhc3QsY29udixjb252Mixjb29sLGNv cHBlcixjb3JyY29lZixjb3MsDQpjb3NoLGNvdCxjb3RoLGNvdixjcGx4cGFp cixjcHV0aW1lLGNyb3NzLGNzYyxjc2NoLGNzdnJlYWQsDQpjc3Z3cml0ZSxj dW1wcm9kLGN1bXN1bSxjeWxpbmRlcixkYXRlLGRiY2xlYXIsZGJjb250LGRi ZG93biwNCmRicXVpdCxkYnN0YWNrLGRic3RhdHVzLGRic3RlcCxkYnN0b3As ZGJ0eXBlLGRidXAsZGRlYWR2LGRkZWV4ZWMsDQpkZGVpbml0LGRkZXBva2Us ZGRlcmVxLGRkZXRlcm0sZGRldW5hZHYsZGVibGFuayxkZWMyaGV4LGRlY29u diwNCmRlbDIsZGVsZXRlLGRlbW8sZGV0LGRpYWcsZGlhcnksZGlmZixkaWZm dXNlLGRpcixkaXNwLGRsbXJlYWQsDQpkbG13cml0ZSxkbXBlcm0sZG90LGRy YXdub3csZWNobyxlaWcsZWxsaXBqLGVsbGlwa2UsDQplbmdDbG9zZSxlbmdF dmFsU3RyaW5nLGVuZ0dldEZ1bGwsZW5nR2V0TWF0cml4LGVuZ09wZW4sDQpl bmdPdXRwdXRCdWZmZXIsZW5nUHV0RnVsbCxlbmdQdXRNYXRyaXgsZW5nU2V0 RXZhbENhbGxiYWNrLA0KZW5nU2V0RXZhbFRpbWVvdXQsZW5nV2luSW5pdCxl cHMsZXJmLGVyZmMsZXJmY3gsZXJmaW52LGVycm9yLA0KZXJyb3JiYXIsZXRp bWUsZXRyZWUsZXZhbCxleGlzdCxleHAsZXhwaW50LGV4cG0sZXhwbyxleWUs ZmNsb3NlLA0KZmVhdGhlcixmZW9mLGZlcnJvcixmZXZhbCxmZnQsZmZ0Mixm ZnRzaGlmdCxmZ2V0bCxmZ2V0cyxmaWd1cmUsDQpmaWxsLGZpbGwzLGZpbHRl cixmaWx0ZXIyLGZpbmQsZmluZHN0cixmaW5pdGUsZml4LGZsYWcsZmxpcGxy LA0KZmxpcHVkLGZsb29yLGZsb3BzLGZtaW4sZm1pbnMsZm9wZW4sZm9ybWF0 LGZwbG90LGZwcmludGYsDQpmcmVhZCxmcmV3aW5kLGZzY2FuZixmc2Vlayxm dGVsbCxmdWxsLGZ1bm0sZndyaXRlLGZ6ZXJvLA0KZ2FsbGVyeSxnYW1tYSxn YW1tYWluYyxnYW1tYWxuLGdjYSxnY2QsZ2NmLGdjbyxnZXQsZ2V0ZW52LA0K Z2V0ZnJhbWUsZ2lucHV0LGdsb2JhbCxncGxvdCxncmFkaWVudCxncmF5LGdy YXltb24sZ3JpZCxncmlkZGF0YSwNCmd0ZXh0LGhhZGFtYXJkLGhhbmtlbCxo ZWxwLGhlc3MsaGV4MmRlYyxoZXgybnVtLGhpZGRlbixoaWxiLGhpc3QsDQpo b2xkLGhvbWUsaG9zdGlkLGhvdCxoc3YsaHN2MnJnYixpZmZ0LGlmZnQyLGlt YWcsaW1hZ2UsDQppbWFnZXNjLEluZixpbmZvLGlucHV0LGludDJzdHIsaW50 ZXJwMSxpbnRlcnAyLGludGVycGZ0LGludiwNCmludmhpbGIsaXNlbXB0eSxp c2dsb2JhbCxpc2hvbGQsaXNpZWVlLGlzaW5mLGlzbGV0dGVyLGlzbmFuLA0K aXNyZWFsLGlzc3BhY2UsaXNzcGFyc2UsaXNzdHIsamV0LGtleWJvYXJkLGty b24sbGFzdGVycixsY20sDQpsZWdlbmQsbGVnZW5kcmUsbGVuZ3RoLGxpbjJt dSxsaW5lLGxpbnNwYWNlLGxvYWQsbG9nLGxvZzEwLGxvZzIsDQpsb2dsb2cs bG9nbSxsb2dzcGFjZSxsb29rZm9yLGxvd2VyLGxzLGxzY292LGx1LG1hZ2lj LG1hdENsb3NlLA0KbWF0RGVsZXRlTWF0cml4LG1hdEdldERpcixtYXRHZXRG cCxtYXRHZXRGdWxsLG1hdEdldE1hdHJpeCwNCm1hdEdldE5leHRNYXRyaXgs bWF0R2V0U3RyaW5nLG1hdGxhYnJjLG1hdGxhYnJvb3QsbWF0T3BlbiwNCm1h dFB1dEZ1bGwsbWF0UHV0TWF0cml4LG1hdFB1dFN0cmluZyxtYXgsbWVhbixt ZWRpYW4sbWVudSxtZXNoLA0KbWVzaGMsbWVzaGdyaWQsbWVzaHosbWV4QXRF eGl0LG1leENhbGxNQVRMQUIsbWV4ZGVidWcsDQptZXhFcnJNc2dUeHQsbWV4 RXZhbFN0cmluZyxtZXhGdW5jdGlvbixtZXhHZXRGdWxsLG1leEdldE1hdHJp eCwNCm1leEdldE1hdHJpeFB0cixtZXhQcmludGYsbWV4UHV0RnVsbCxtZXhQ dXRNYXRyaXgsbWV4U2V0VHJhcEZsYWcsDQptaW4sbW9yZSxtb3ZpZSxtb3Zp ZWluLG11MmxpbixteENhbGxvYyxteENvcHlDaGFyYWN0ZXJUb1B0ciwNCm14 Q29weUNvbXBsZXgxNlRvUHRyLG14Q29weUludGVnZXI0VG9QdHIsbXhDb3B5 UHRyVG9DaGFyYWN0ZXIsDQpteENvcHlQdHJUb0NvbXBsZXgxNixteENvcHlQ dHJUb0ludGVnZXI0LG14Q29weVB0clRvUmVhbDgsDQpteENvcHlSZWFsOFRv UHRyLG14Q3JlYXRlRnVsbCxteENyZWF0ZVNwYXJzZSxteENyZWF0ZVN0cmlu ZywNCm14RnJlZSxteEZyZWVNYXRyaXgsbXhHZXRJcixteEdldEpjLG14R2V0 TSxteEdldE4sbXhHZXROYW1lLA0KbXhHZXROem1heCxteEdldFBpLG14R2V0 UHIsbXhHZXRTY2FsYXIsbXhHZXRTdHJpbmcsbXhJc0NvbXBsZXgsDQpteElz RnVsbCxteElzTnVtZXJpYyxteElzU3BhcnNlLG14SXNTdHJpbmcsbXhJc1R5 cGVEb3VibGUsDQpteFNldElyLG14U2V0SmMsbXhTZXRNLG14U2V0TixteFNl dE5hbWUsbXhTZXROem1heCxteFNldFBpLA0KbXhTZXRQcixOYU4sbmFyZ2No ayxuYXJnaW4sbmFyZ291dCxuZXdwbG90LG5leHRwb3cyLG5ubHMsbm56LA0K bm9uemVyb3Msbm9ybSxub3JtZXN0LG51bGwsbnVtMnN0cixuem1heCxvZGUy MyxvZGU0NSxvcmllbnQsb3J0aCwNCnBhY2sscGFzY2FsLHBhdGNoLHBhdGgs cGF1c2UscGNvbG9yLHBpLHBpbmsscGludixwbG90LHBsb3QzLA0KcG9sMmNh cnQscG9sYXIscG9seSxwb2x5ZGVyLHBvbHllaWcscG9seWZpdCxwb2x5dmFs LHBvbHl2YWxtLA0KcG93MixwcmludCxwcmludG9wdCxwcmlzbSxwcm9kLHB3 ZCxxcixxcmRlbGV0ZSxxcmluc2VydCxxdWFkLA0KcXVhZDgscXVpdCxxdWl2 ZXIscXoscmFuZCxyYW5kbixyYW5kcGVybSxyYW5rLHJhdCxyYXRzLHJiYm94 LA0KcmNvbmQscmVhbCxyZWFsbWF4LHJlYWxtaW4scmVmcmVzaCxyZW0scmVz ZXQscmVzaGFwZSxyZXNpZHVlLA0KcmdiMmhzdixyZ2JwbG90LHJvb3RvYmpl Y3Qscm9vdHMscm9zZSxyb3NzZXIscm90OTAscm90YXRlLA0Kcm91bmQscnJl ZixycmVmbW92aWUscnNmMmNzZixzYXZlLHNheGlzLHNjaHVyLHNlYyxzZWNo LHNlbWlsb2d4LA0Kc2VtaWxvZ3ksc2V0LHNldHN0cixzaGFkaW5nLHNpZ24s c2luLHNpbmgsc2l6ZSxzbGljZSxzb3J0LHNvdW5kLA0Kc3BhbGxvYyxzcGFy c2Usc3BhdWdtZW50LHNwY29udmVydCxzcGRpYWdzLHNwZWN1bGFyLHNwZXll LHNwZnVuLA0Kc3BoMmNhcnQsc3BoZXJlLHNwaW5tYXAsc3BsaW5lLHNwb25l cyxzcHBhcm1zLHNwcmFuZG4sc3ByYW5kc3ltLA0Kc3ByYW5rLHNwcmludGYs c3B5LHNxcnQsc3FydG0sc3NjYW5mLHN0YWlycyxzdGFydHVwLHN0ZCxzdGVt LA0Kc3RyMm1hdCxzdHIybnVtLHN0cmNtcCxzdHJpbmdzLHN0cnJlcCxzdHJ0 b2ssc3VicGxvdCxzdWJzY3JpYmUsDQpzdWJzcGFjZSxzdW0sc3VyZixzdXJm YWNlLHN1cmZjLHN1cmZsLHN1cmZub3JtLHN2ZCxzeW1iZmFjdCwNCnN5bW1t ZCxzeW1yY20sdGFuLHRhbmgsdGVtcGRpcix0ZW1wbmFtZSx0ZXJtaW5hbCx0 ZXh0LHRpYyx0aXRsZSwNCnRvYyx0b2VwbGl0eix0cmFjZSx0cmFweix0cmls LHRyaXUsdHlwZSx1aWNvbnRyb2wsdWlnZXRmaWxlLA0KdWltZW51LHVpcHV0 ZmlsZSx1bml4LHVud3JhcCx1cHBlcix2YW5kZXIsdmVyLHZlcnNpb24sdmll dywNCnZpZXdtdHgsd2FpdGZvcmJ1dHRvbnByZXNzLHdhdGVyZmFsbCx3YXZy ZWFkLHdhdndyaXRlLHdoYXQsDQp3aGF0c25ldyx3aGljaCx3aGl0ZSx3aGl0 ZWJnLHdobyx3aG9zLHdpbGtpbnNvbix3azFyZWFkLA0Kd2sxd3JpdGUseGxh YmVsLHhvcix5bGFiZWwsemVyb3MsemxhYmVsLHpvb20NCg0KXGluc3RhbGxw cmV0dHl0eXBlIFtNQVRMQUJdICAgICBbTUFUTEFCXQ0KXGRlZmluZXR5cGlu ZyAgICAgIFtNQVRMQUJdICAgICBbXGMhb3B0aW9uPU1BVExBQl0NClxkZWZp bmVwYWxldCBbTUFUTEFCY29sb3JwcmV0dHldICAgIFtjb2xvcnByZXR0eV0N ClxkZWZpbmVwYWxldCBbTUFUTEFCZ3JheXByZXR0eV0gICAgIFtncmF5cHJl dHR5XQ0KDQoNCg0KXHByb3RlY3QgXGVuZGlucHV0DQoNCg0K --8308557-22393-1142405417=:1200 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=test.tex Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=test.tex XHNldHVwY29sb3JzW3N0YXRlPXN0YXJ0XQ0KXGlucHV0IHZlcmItbWF0bGFi DQpcc3RhcnR0ZXh0DQpcc3RhcnRNQVRMQUINCm4gPSAxNTBlNSA7DQpwID0g MC45IDsNCg0KZCA9IDMwMCA7DQpyID0gMTAwIDsNCg0KbV90b3RhbCA9IG46 KG4rNDApIDsNCg0Kd2FybmluZyBvZmY7DQoNCiUlLiBSZWZ1bmRhYmxlIFRp Y2tldHMNCg0KY29zdCA9IHplcm9zKGxlbmd0aChtX3RvdGFsKSwxKSA7DQpm b3IgbSA9IG1fdG90YWwgDQogICAgZm9yIGsgPSAwOm4NCiAgICAgICBjb3N0 KG0tbisxKSA9IGNvc3QobS1uKzEpICsgaypkKm5jaG9vc2VrKG0saykqcF5r KigxLXApXihtIC0gaykgOw0KICAgIGVuZDsNCiAgICBmb3IgayA9IChuKzEp Om0NCiAgICAgICAgY29zdChtLW4rMSkgPSBjb3N0KG0tbisxKSArIChuKmQg LSAoay1uKSpyKSpuY2hvb3NlayhtLGspKnBeayooMS1wKV4obS1rKSA7DQog ICAgZW5kOw0KZW5kOw0KW3ZhbHVlLGNvdW50XSA9IG1heChjb3N0KSA7DQpk aXNwKHNwcmludGYoJ1RoZSBtYXhpbXVtIG9jY3VycyBhdCAlZCcsY291bnQr bi0xKSkgOw0KZmlndXJlKDEpOw0KcGxvdChtX3RvdGFsLGNvc3QpIDsNCg0K JSUuIE5vbnJlZnVuZGFibGUgQ2FzZQ0KDQpjb3N0ID0gemVyb3MobGVuZ3Ro KG1fdG90YWwpLDEpIDsNCmZvciBtID0gbV90b3RhbCANCiAgICBmb3IgayA9 IDA6bg0KICAgICAgIGNvc3QobS1uKzEpID0gY29zdChtLW4rMSkgKyBrKmQq bmNob29zZWsobSxrKSpwXmsqKDEtcCleKG0gLSBrKSA7DQogICAgZW5kOw0K ICAgIGZvciBrID0gKG4rMSk6bQ0KICAgICAgICBjb3N0KG0tbisxKSA9IGNv c3QobS1uKzEpICsgKG0qZCAtIChrLW4pKihkK3IpKSpuY2hvb3NlayhtLGsp KnBeayooMS1wKV4obS1rKSA7DQogICAgZW5kOw0KZW5kOw0KW3ZhbHVlLGNv dW50XSA9IG1heChjb3N0KSA7DQpkaXNwKHNwcmludGYoJ1RoZSBtYXhpbXVt IG9jY3VycyBhdCAlZCcsY291bnQrbi0xKSkgOw0KZmlndXJlKDIpOw0KcGxv dChtX3RvdGFsLGNvc3QpIDsNClxzdG9wTUFUTEFCDQpcc3RvcHRleHQNCg0K --8308557-22393-1142405417=:1200 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context --8308557-22393-1142405417=:1200--