From: Rik Kabel <context@rik.users.panix.com>
To: ntg-context@ntg.nl
Subject: Re: Trimming strings and Lua string.trim question
Date: Wed, 05 Mar 2014 10:07:10 -0500 [thread overview]
Message-ID: <53173D9E.1050907@rik.users.panix.com> (raw)
In-Reply-To: <5316DF28.3070300@wxs.nl>
[-- Attachment #1.1: Type: text/plain, Size: 2108 bytes --]
On 2014-03-05 03:24, Hans Hagen wrote:
> On 3/5/2014 5:45 AM, Rik Kabel wrote:
>> I am trying to strip all leading and trailing whitespace from a string.
>> I have tried two methods, neither of which is satisfactory.
>>
>> The first method uses \ignorespaces and \removeunwantedspaces. This
>> fails to strip leading and trailing newlines.
>>
>> The second method uses the Lua string.strip function. The wiki
>> description:
>>
>> Yields string with leading and trailing whitespace (spaces,
>> horizontal and vertical tabs, newlines) removed
>>
>> suggests that this should do what I want, but I find that it removes
>> internal whitespace as well as the leading and trailing whitespace.
>>
>> Can somebody suggest a better way of doing this?
>>
>> The following code demonstrates the problem:
>>
>> % macros=mkvi
>> \starttexdefinition StringStrip #STRING
>> \startluacode
>> context(string.strip([==[#STRING]==]))
>> \stopluacode
>> \stoptexdefinition
>> \long\def\test{
>>
>> This is a test. \quad
>>
>> And it has an unexpected result.
>>
>> With \tex{ignorespaces} and \tex{removeunwantedspaces}, the
>> newlines remain.
>>
>> With Lua {\tt string.strip}, the \tex{quad} at the end of a
>> paragraph is preserved, but the other internal whitespace
>> (including newlines) is gone!
>>
>> }
>> \starttext
>> \subject{ignorespaces and removeunwantedspaces}
>> ¦\ignorespaces\test\removeunwantedspaces¦
>>
>> \subject{Lua string.strip}
>> ¦\StringStrip{\test}¦
>> \stoptext
>
> striplong
>
It would be nice if striplong worked, but the example fails when
string.striplong is used in place of string.strip. The log says:
! LuaTeX error [string "\directlua "]:1: attempt to call field
'striplong' (a nil value)
stack traceback:
[string "\directlua "]:1: in main chunk.
Is the format of the call different than shown in the wiki, or is a
different mechanism required to quote a potentially long string?
--
Rik
[-- Attachment #1.2: Type: text/html, Size: 3768 bytes --]
[-- Attachment #2: Type: text/plain, Size: 485 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
next prev parent reply other threads:[~2014-03-05 15:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-05 4:45 Rik Kabel
2014-03-05 8:24 ` Hans Hagen
2014-03-05 15:07 ` Rik Kabel [this message]
2014-03-05 15:18 ` Wolfgang Schuster
2014-03-05 15:54 ` Wolfgang Schuster
2014-03-05 23:00 ` Rik Kabel
2014-03-06 10:38 ` Hans Hagen
2014-03-06 15:04 ` Rik Kabel
2014-03-06 15:27 ` Wolfgang Schuster
2014-03-05 16:28 ` Rik Kabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53173D9E.1050907@rik.users.panix.com \
--to=context@rik.users.panix.com \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).