texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Literal tab character in scheme


From: Sam Liddicott
Subject: Re: [Texmacs-dev] Literal tab character in scheme
Date: Mon, 16 Aug 2010 12:21:54 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.9pre) Gecko/20100814 Lanikai/3.1.3pre


On 16/08/10 10:42, Sam Liddicott wrote:
I'm trying to use scheme to generate a literal tab character for verbatim export:

Scheme docs tell me that #\ht should represent the horizontal tab character, and that (string #\ht) should return such a string, but texmacs just returns a weird unicode character:

1. <extern|(lambda () `(concat "[" ,(string #\\A) "]"))>
The first example results in [A]

2. <extern|(lambda () `(concat "[" ,(string #\\ht) "]"))>
But the second example does not result in a TAB (ascii 9) within [ ] but rather unicode, which as two ascii characters is C2 and B8 whose html representation is &macr;

How shall I generate a literal tab character for text export?

For now, I'm using this nf-tab macro:

<assign|nf-tab|<macro|<resize|<htab|3spc|first><with|mode|math|\<mapsto\>>|||l+8spc|>>>

<\code>
  something.o: something.c

  <nf-tab>CC -o something.o something.c
</code>

I can fixup and replace 0xE2 0x86 0xA6 characters that get output with a literal tab when I untangle the source.

However I can't manage to have the mapsto arrow centered automatically (using htabs either side) or find a way to use <space> or <phantom> based on a calculation because I can't find out how to get the size of a string.

I also note that in a <code> block, 1em isn't the same as 1spc even though a letter m is as wide as a space.

It would be nice if I could have tabstops on multiples of a character; like:

<assign|multiple|<macro|n|m|<minus|<arg|n>|<mod|<arg|n>|<arg|m>>>>>

<assign|nf-tab|<macro|<resize|<htab|3spc|first><with|mode|math|\<mapsto\>>|||<multiple|l+8spc|1spc>|>>>

Except of course macro's taking arguments aren't allowed where lengths. Is there any sneaky way to do this?

Sam

reply via email to

[Prev in Thread] Current Thread [Next in Thread]