Sam Liddicott | 11 Jun 2010 18:04
Face

[TeXmacs] Feedback on texmacx

Hi all, I'm new to texmacs but with a good background as a lyx user.

Here's my feedback as a new texmacs user (before I forget).

Running SVN head:
I find that the shell session hangs and I have to keep killing it. 1.0.7.3 works fine.
The QT menus are welcome, but no accellerator keys! (but I'm sure you know that).

With 1.0.7.3
I can't find out how to change the font size per-document for the code environment - this was easy to do with lyx
Within a tree node (outlined box) at the left most position, "backspace" does nothing. In Lyx it would delete the container node but keep the text, or in other words, it removes the style - it was very useful.

If I insert a footnote in a citation, the footnote is italic - I guess that is wrong.

If I paste text into a code environment, the text lines gets mangled onto one lone line

I really like the shell sessions (and so on).

Why does it run "locate" every time I start texmacs - it makes it take ages to start, and no good for makefiles: texmacs -c in.tm out.tmml -q

When I open a tmml file and save it and try to quit, texmacs thinks I havent saved it (although it is saved).

I really miss latex's lstlistings. I wrote a literate programming addon for Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side was done entirely in latex macros and based on lstlistings, and the tangle side was done with a single awk script. I see that texmacs replaces tex mostly (fair enough, the difficulties in parsing tex drove me to texmacs). I intend to port the literate programming to texmacs and implement as xslt and guile.  I guess I'll have a lot to do to get lstlistings ported. Mainly it had syntax highlighting and line counting, but it had some freaky tricks to approximate per-word grids for fake mono-spacing with variable fonts. (I know about lp4texmacs).

Anyway, thanks muchly for tecmacs.

Sam

--
Sam's signature
Aleksandr Dobkin | 11 Jun 2010 22:59
Picon

Re: [TeXmacs] Feedback on texmacx

> With 1.0.7.3
> I can't find out how to change the font size per-document for the code
> environment - this was easy to do with lyx
> Within a tree node (outlined box) at the left most position, "backspace"
> does nothing. In Lyx it would delete the container node but keep the text,
> or in other words, it removes the style - it was very useful.
>

I believe you can accomplish this by pressing control-backspace while
the cursor is anywhere inside the outlined box.

Alex

Sam Liddicott | 13 Jun 2010 08:53
Face

Re: [TeXmacs] Feedback on texmacx

On 11/06/10 21:59, Aleksandr Dobkin wrote:
With 1.0.7.3 I can't find out how to change the font size per-document for the code environment - this was easy to do with lyx Within a tree node (outlined box) at the left most position, "backspace" does nothing. In Lyx it would delete the container node but keep the text, or in other words, it removes the style - it was very useful.
I believe you can accomplish this by pressing control-backspace while the cursor is anywhere inside the outlined box. Alex

Thanks!

another thing I found with 1.0.7.3, if I edit .tmml files instead of .tm files, in a shell session for a command produces no output, when I re-load the tmml file into a new invocation of texmacs, the commands in the session that produced no output are replaced by red question marks; as if the xml could not be properly parsed in that case.

Sam

--
Sam's signature
Sam Liddicott | 14 Jun 2010 15:12

Re: [TeXmacs] Feedback on texmacs

More feedback:

(I'm not whining, but I chap only gets to give this sort of feedback in the
first couple of weeks with a new tool, so I thought it would be worth
taking advantage of).

I can't find out how to insert an em-dash.

I miss the document outline view of Lyx, and the ability to indent or
in-indent in the outliner which would change headings from section to
subsection or back again.

I miss the split view where I could see and edit two parts of the document
at once.

With 1.0.7.3 I can't get rid of blank line between code environment and a
session environment

There doesn't seem to be a way to set document style defaults, like what
the font size should be for fixed size fonts, etc; which was simple with
Lyx.

A good ting about Texmacs is the native xml support, something that
attracted me, and, in what is becoming more attractive - lack of tex!

Sam

Sam Liddicott | 15 Jun 2010 13:59
Face

Re: [TeXmacs] Feedback on texmacs

  And yet more feedback:

if LANG=en_GB.utf8, such that gcc errors use utf-8 characters (like the 
freaky back-quote marks), then if gcc is run under a shell session in 
texmacs, the utf-8 characters are not properly interpreted.

I suppose texmacs should look at LANG before it invokes the shell to get 
the default encoding.

I also had a long footnote:
http://sourceforge.net/mailarchive/message.php?msg_name=59C09E9F262514468B1F2E022E50FBA3BBDC4C%40naeaphilez05v.nadsusea.nads.navy.mil

The footnote was hyphenated in the word message, and the part before the 
hyphenation was right-aligned which looked stupid. If the line must be 
broken early I think left-alignment should be kept. (Never mind that 
hyphenating a URL is probably always the wrong thing to do and maybe I 
should have marked it so it would not be hyphenated).

I find it confusing that ctrl-home may or may not go to the top of the 
document depending what the current environment is.

Here is my comparison with Lyx - no exhaustive but as is relevant to me:
The XML file formal of Texmacs is great compared to Lyx's unsupported 
docbook sgml format.
Lack of hyperlinks in Texmacs pdf output is a disadvantage, Lyx supports 
this.
Texmacs not using Tex is a great advantage offset by the equally great 
loss of all the text packages that exist.
Texmacs sessions are great, not quite matched by Lyx's scripts that can 
run for various file types.
Lyx's shortcut and accellerator keys allow me to enter and format 
documents without using the mouse. Texmacs can theoretically do this, 
but Lyx behaviour is better out of the box. Like Texmacs it tells you 
the shortcuts as you go along

I don't think I will have many more comments.

Sam

On 14/06/10 14:12, Sam Liddicott wrote:
> More feedback:
>
> (I'm not whining, but I chap only gets to give this sort of feedback in the
> first couple of weeks with a new tool, so I thought it would be worth
> taking advantage of).
>
> I can't find out how to insert an em-dash.
>
> I miss the document outline view of Lyx, and the ability to indent or
> in-indent in the outliner which would change headings from section to
> subsection or back again.
>
> I miss the split view where I could see and edit two parts of the document
> at once.
>
> With 1.0.7.3 I can't get rid of blank line between code environment and a
> session environment
>
> There doesn't seem to be a way to set document style defaults, like what
> the font size should be for fixed size fonts, etc; which was simple with
> Lyx.
>
> A good ting about Texmacs is the native xml support, something that
> attracted me, and, in what is becoming more attractive - lack of tex!
>
> Sam
>

--

-- 
*Sam's signature*

Michael Lachmann | 16 Jun 2010 18:18
Picon

Re: [TeXmacs] Feedback on texmacx

On 11 June 2010 18:04, Sam Liddicott <sam <at> liddicott.com> wrote:
>
> I really miss latex's lstlistings. I wrote a literate programming addon for
> Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side was done
> entirely in latex macros and based on lstlistings, and the tangle side was
> done with a single awk script. I see that texmacs replaces tex mostly (fair
> enough, the difficulties in parsing tex drove me to texmacs). I intend to
> port the literate programming to texmacs and implement as xslt and guile.  I
> guess I'll have a lot to do to get lstlistings ported. Mainly it had syntax
> highlighting and line counting, but it had some freaky tricks to approximate
> per-word grids for fake mono-spacing with variable fonts. (I know about
> lp4texmacs).
>

I've been using texmacs for literate programming over the last year
with a bunch of hacks.
There is a small environment for texmacs to install that makes a new
document class, 'noweb'. The document is exported to verbatim from
within texmacs, and then I run  notangle on it to get the various
parts. I haven't implemented a nice make interface as you have. One
nice feature is that because of texmacs' sessions, at the end of the
document I have a shell session and a scheme session that I use to
generate everything. So I don't need to remember how to do stuff.

Inserting a new section is done with ctrl-2, and a link to a prev
section with ctrl-1. It is nice that once that is done you can easily
jump between the different parts of the program.

Syntax highlighting of the different languages has to be hard coded
using cpp for now....

It would really be nice to make it less hacky, add some make
possibility that recognizes changes, and the possibility to reassemble
the document from the files so that you can edit your code in whatever
editor you want....

Michael

Sam Liddicott | 16 Jun 2010 22:23
Face

Re: [TeXmacs] Feedback on texmacx

On 16/06/10 17:18, Michael Lachmann wrote:
On 11 June 2010 18:04, Sam Liddicott <sam <at> liddicott.com> wrote:
I really miss latex's lstlistings. I wrote a literate programming addon for Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side was done entirely in latex macros and based on lstlistings, and the tangle side was done with a single awk script. I see that texmacs replaces tex mostly (fair enough, the difficulties in parsing tex drove me to texmacs). I intend to port the literate programming to texmacs and implement as xslt and guile.  I guess I'll have a lot to do to get lstlistings ported. Mainly it had syntax highlighting and line counting, but it had some freaky tricks to approximate per-word grids for fake mono-spacing with variable fonts. (I know about lp4texmacs).
I've been using texmacs for literate programming over the last year with a bunch of hacks. There is a small environment for texmacs to install that makes a new document class, 'noweb'. The document is exported to verbatim from within texmacs, and then I run notangle on it to get the various parts. I haven't implemented a nice make interface as you have. One nice feature is that because of texmacs' sessions, at the end of the document I have a shell session and a scheme session that I use to generate everything. So I don't need to remember how to do stuff. Inserting a new section is done with ctrl-2, and a link to a prev section with ctrl-1. It is nice that once that is done you can easily jump between the different parts of the program. Syntax highlighting of the different languages has to be hard coded using cpp for now.... It would really be nice to make it less hacky, add some make possibility that recognizes changes, and the possibility to reassemble the document from the files so that you can edit your code in whatever editor you want....

I'm quite excited by the guile/scheme integration, for once it may mean that references to other blocks can be expanded, and possibly even edited in-situ.

But it seems like the main task will be re-writing lstlistings in scheme. I know how the keywording works in lstlistings, by looking for keywords that are not in quoted strings, so I think I can do that.

On partially implemented feature in newfangle is automatic contextual quoting, so that if a chunk of text is included in a line that begins with // that all the lines have // prefixed; or if a chunk of text with a newline in is included within a string definition, the newline is replaced with \n"<literal-newline>"

and so on; but I found this to be difficult with languages like perl where $a=~m/a/; and $a=~s|a/|b/|; are both regex type stuff and quite hard to detect where the regex starts and ends; so I can't automatically do such stuff in perl; but as the Texmacs editor is so great with it's macro editing I can quite easily have the human markup regexes and so-forth and not need to automatically detect all of it!

Please could you tell me where to get the literate stuff you have been doing?

Sam

--
Sam's signature
Michael Lachmann | 17 Jun 2010 00:40
Picon

Re: [TeXmacs] Feedback on texmacx

You can look a bit back up the list for the discussion. I'm using two
files, I think:
noweb.ts stored in ~/.TeXmacs/styles, and a few key bindings in
~/.TeXmacs/progs/my-init-texmacs.scm

I installed noweb, and maybe that's it. Attached is a sample TeXmacs file.

Tell me if it worked...

Michael

noweb.ts:
--
<TeXmacs|1.0.7.2>

<style|source>

<\body>
  <use-package|jsc|tmdoc-traversal|tmdoc-markup|tmdoc-keyboard>

  <assign|noweb-fragment|<\macro|name|x>

    <\cpp-fragment>

       \<less\>\<less\><label|<arg|name>><with|color|red|<arg|name>>\<gtr\>\<gtr\>=

      <arg|x>

       <at> 
    </cpp-fragment>
  </macro>>

  <assign|noweb-ref|<macro|name|\<less\>\<less\><hlink|<arg|name>|<merge|#|<arg|name>>>\<gtr\>\<gtr\>>>

</body>

<\initial>
  <\collection>
    <associate|page-type|letter>
  </collection>
</initial>

<\references>
  <\collection>
  </collection>
</references>
--
The key bindings: in ~/.TeXmacs/progs/my-init-texmacs.scm:
--
(kbd-map
          ("C-1" (make 'noweb-ref))
          ("C-2" (make 'noweb-fragment))
          ("C-9" (choose-file (texmacs-save-buffer "verbatim") "save
verbatim file" "verbatim") )
          )
--
On 16 June 2010 22:23, Sam Liddicott <sam <at> liddicott.com> wrote:
> On 16/06/10 17:18, Michael Lachmann wrote:
>
> On 11 June 2010 18:04, Sam Liddicott <sam <at> liddicott.com> wrote:
>
> I really miss latex's lstlistings. I wrote a literate programming addon for
> Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side was done
> entirely in latex macros and based on lstlistings, and the tangle side was
> done with a single awk script. I see that texmacs replaces tex mostly (fair
> enough, the difficulties in parsing tex drove me to texmacs). I intend to
> port the literate programming to texmacs and implement as xslt and guile.  I
> guess I'll have a lot to do to get lstlistings ported. Mainly it had syntax
> highlighting and line counting, but it had some freaky tricks to approximate
> per-word grids for fake mono-spacing with variable fonts. (I know about
> lp4texmacs).
>
> I've been using texmacs for literate programming over the last year
> with a bunch of hacks.
> There is a small environment for texmacs to install that makes a new
> document class, 'noweb'. The document is exported to verbatim from
> within texmacs, and then I run  notangle on it to get the various
> parts. I haven't implemented a nice make interface as you have. One
> nice feature is that because of texmacs' sessions, at the end of the
> document I have a shell session and a scheme session that I use to
> generate everything. So I don't need to remember how to do stuff.
>
> Inserting a new section is done with ctrl-2, and a link to a prev
> section with ctrl-1. It is nice that once that is done you can easily
> jump between the different parts of the program.
>
> Syntax highlighting of the different languages has to be hard coded
> using cpp for now....
>
> It would really be nice to make it less hacky, add some make
> possibility that recognizes changes, and the possibility to reassemble
> the document from the files so that you can edit your code in whatever
> editor you want....
>
>
> I'm quite excited by the guile/scheme integration, for once it may mean that
> references to other blocks can be expanded, and possibly even edited
> in-situ.
>
> But it seems like the main task will be re-writing lstlistings in scheme. I
> know how the keywording works in lstlistings, by looking for keywords that
> are not in quoted strings, so I think I can do that.
>
> On partially implemented feature in newfangle is automatic contextual
> quoting, so that if a chunk of text is included in a line that begins with
> // that all the lines have // prefixed; or if a chunk of text with a newline
> in is included within a string definition, the newline is replaced with
> \n"<literal-newline>"
>
> and so on; but I found this to be difficult with languages like perl where
> $a=~m/a/; and $a=~s|a/|b/|; are both regex type stuff and quite hard to
> detect where the regex starts and ends; so I can't automatically do such
> stuff in perl; but as the Texmacs editor is so great with it's macro editing
> I can quite easily have the human markup regexes and so-forth and not need
> to automatically detect all of it!
>
> Please could you tell me where to get the literate stuff you have been
> doing?
>
> Sam
>
> --
> Sam's signature
Attachment (hello.tm): application/octet-stream, 2455 bytes
Michael Lachmann | 17 Jun 2010 04:58
Picon

Re: [TeXmacs] Feedback on texmacx

You can look a bit back up the list for the discussion. I'm using two
files, I think:
noweb.ts stored in ~/.TeXmacs/styles, and a few key bindings in
~/.TeXmacs/progs/my-init-texmacs.scm

I installed noweb, and maybe that's it. Attached is a sample TeXmacs  
file.

Tell me if it worked...

Michael

noweb.ts:
--
<TeXmacs|1.0.7.2>

<style|source>

<\body>
  <use-package|jsc|tmdoc-traversal|tmdoc-markup|tmdoc-keyboard>

  <assign|noweb-fragment|<\macro|name|x>

    <\cpp-fragment>

       \<less\>\<less\><label|<arg|name>><with|color|red|<arg|name>> 
\<gtr\>\<gtr\>=

      <arg|x>

       <at> 
    </cpp-fragment>
  </macro>>

  <assign|noweb-ref|<macro|name|\<less\>\<less\><hlink|<arg|name>| 
<merge|#|<arg|name>>>\<gtr\>\<gtr\>>>

</body>

<\initial>
  <\collection>
    <associate|page-type|letter>
  </collection>
</initial>

<\references>
  <\collection>
  </collection>
</references>
--
The key bindings: in ~/.TeXmacs/progs/my-init-texmacs.scm:
--
(kbd-map
          ("C-1" (make 'noweb-ref))
          ("C-2" (make 'noweb-fragment))
          ("C-9" (choose-file (texmacs-save-buffer "verbatim") "save
verbatim file" "verbatim") )
          )
--
On 16 June 2010 22:23, Sam Liddicott <sam <at> liddicott.com> wrote:
> On 16/06/10 17:18, Michael Lachmann wrote:
>
> On 11 June 2010 18:04, Sam Liddicott <sam <at> liddicott.com> wrote:
>
> I really miss latex's lstlistings. I wrote a literate programming  
> addon for
> Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side  
> was done
> entirely in latex macros and based on lstlistings, and the tangle  
> side was
> done with a single awk script. I see that texmacs replaces tex  
> mostly (fair
> enough, the difficulties in parsing tex drove me to texmacs). I  
> intend to
> port the literate programming to texmacs and implement as xslt and  
> guile.  I
> guess I'll have a lot to do to get lstlistings ported. Mainly it had  
> syntax
> highlighting and line counting, but it had some freaky tricks to  
> approximate
> per-word grids for fake mono-spacing with variable fonts. (I know  
> about
> lp4texmacs).
>
> I've been using texmacs for literate programming over the last year
> with a bunch of hacks.
> There is a small environment for texmacs to install that makes a new
> document class, 'noweb'. The document is exported to verbatim from
> within texmacs, and then I run  notangle on it to get the various
> parts. I haven't implemented a nice make interface as you have. One
> nice feature is that because of texmacs' sessions, at the end of the
> document I have a shell session and a scheme session that I use to
> generate everything. So I don't need to remember how to do stuff.
>
> Inserting a new section is done with ctrl-2, and a link to a prev
> section with ctrl-1. It is nice that once that is done you can easily
> jump between the different parts of the program.
>
> Syntax highlighting of the different languages has to be hard coded
> using cpp for now....
>
> It would really be nice to make it less hacky, add some make
> possibility that recognizes changes, and the possibility to reassemble
> the document from the files so that you can edit your code in whatever
> editor you want....
>
>
> I'm quite excited by the guile/scheme integration, for once it may  
> mean that
> references to other blocks can be expanded, and possibly even edited
> in-situ.
>
> But it seems like the main task will be re-writing lstlistings in  
> scheme. I
> know how the keywording works in lstlistings, by looking for  
> keywords that
> are not in quoted strings, so I think I can do that.
>
> On partially implemented feature in newfangle is automatic contextual
> quoting, so that if a chunk of text is included in a line that  
> begins with
> // that all the lines have // prefixed; or if a chunk of text with a  
> newline
> in is included within a string definition, the newline is replaced  
> with
> \n"<literal-newline>"
>
> and so on; but I found this to be difficult with languages like perl  
> where
> $a=~m/a/; and $a=~s|a/|b/|; are both regex type stuff and quite hard  
> to
> detect where the regex starts and ends; so I can't automatically do  
> such
> stuff in perl; but as the Texmacs editor is so great with it's macro  
> editing
> I can quite easily have the human markup regexes and so-forth and  
> not need
> to automatically detect all of it!
>
> Please could you tell me where to get the literate stuff you have been
> doing?
>
> Sam
>
> --
> Sam's signature
Attachment (hello.tm): application/octet-stream, 2455 bytes
Sam Liddicott | 17 Jun 2010 10:43
Face

Re: [TeXmacs] Feedback on texmacx

That's pretty sweet stuff!

I'm impressed. It's great that you can have references as a distinct semantic item.

I'm wondering if guile will make parameterized chunks easier. If I can make ctrl-2 style chunks define first-class texmacs macros within the body, then ctrl-1 style references are really just regular texmacs macro invocations which can be activated or deactivated!

Sam

On 16/06/10 23:40, Michael Lachmann wrote:
You can look a bit back up the list for the discussion. I'm using two files, I think: noweb.ts stored in ~/.TeXmacs/styles, and a few key bindings in ~/.TeXmacs/progs/my-init-texmacs.scm I installed noweb, and maybe that's it. Attached is a sample TeXmacs file. Tell me if it worked... Michael noweb.ts: -- <TeXmacs|1.0.7.2> <style|source> <\body> <use-package|jsc|tmdoc-traversal|tmdoc-markup|tmdoc-keyboard> <assign|noweb-fragment|<\macro|name|x> <\cpp-fragment> \<less\>\<less\><label|<arg|name>><with|color|red|<arg|name>>\<gtr\>\<gtr\>= <arg|x> <at> </cpp-fragment> </macro>> <assign|noweb-ref|<macro|name|\<less\>\<less\><hlink|<arg|name>|<merge|#|<arg|name>>>\<gtr\>\<gtr\>>> </body> <\initial> <\collection> <associate|page-type|letter> </collection> </initial> <\references> <\collection> </collection> </references> -- The key bindings: in ~/.TeXmacs/progs/my-init-texmacs.scm: -- (kbd-map ("C-1" (make 'noweb-ref)) ("C-2" (make 'noweb-fragment)) ("C-9" (choose-file (texmacs-save-buffer "verbatim") "save verbatim file" "verbatim") ) ) -- On 16 June 2010 22:23, Sam Liddicott <sam <at> liddicott.com> wrote:
On 16/06/10 17:18, Michael Lachmann wrote: On 11 June 2010 18:04, Sam Liddicott <sam <at> liddicott.com> wrote: I really miss latex's lstlistings. I wrote a literate programming addon for Lyx (http://www.nongnu.org/newfangle/index.shtml). The weave side was done entirely in latex macros and based on lstlistings, and the tangle side was done with a single awk script. I see that texmacs replaces tex mostly (fair enough, the difficulties in parsing tex drove me to texmacs). I intend to port the literate programming to texmacs and implement as xslt and guile.  I guess I'll have a lot to do to get lstlistings ported. Mainly it had syntax highlighting and line counting, but it had some freaky tricks to approximate per-word grids for fake mono-spacing with variable fonts. (I know about lp4texmacs). I've been using texmacs for literate programming over the last year with a bunch of hacks. There is a small environment for texmacs to install that makes a new document class, 'noweb'. The document is exported to verbatim from within texmacs, and then I run notangle on it to get the various parts. I haven't implemented a nice make interface as you have. One nice feature is that because of texmacs' sessions, at the end of the document I have a shell session and a scheme session that I use to generate everything. So I don't need to remember how to do stuff. Inserting a new section is done with ctrl-2, and a link to a prev section with ctrl-1. It is nice that once that is done you can easily jump between the different parts of the program. Syntax highlighting of the different languages has to be hard coded using cpp for now.... It would really be nice to make it less hacky, add some make possibility that recognizes changes, and the possibility to reassemble the document from the files so that you can edit your code in whatever editor you want.... I'm quite excited by the guile/scheme integration, for once it may mean that references to other blocks can be expanded, and possibly even edited in-situ. But it seems like the main task will be re-writing lstlistings in scheme. I know how the keywording works in lstlistings, by looking for keywords that are not in quoted strings, so I think I can do that. On partially implemented feature in newfangle is automatic contextual quoting, so that if a chunk of text is included in a line that begins with // that all the lines have // prefixed; or if a chunk of text with a newline in is included within a string definition, the newline is replaced with \n"<literal-newline>" and so on; but I found this to be difficult with languages like perl where $a=~m/a/; and $a=~s|a/|b/|; are both regex type stuff and quite hard to detect where the regex starts and ends; so I can't automatically do such stuff in perl; but as the Texmacs editor is so great with it's macro editing I can quite easily have the human markup regexes and so-forth and not need to automatically detect all of it! Please could you tell me where to get the literate stuff you have been doing? Sam -- Sam's signature


--
Sam's signature

Gmane