Hey everyone,

Today I was about to sit down to do some research and I thought, "Gee, it
sure would be nice if there was a better way to integrate my code and my
typeset thoughts." I use LyX for all of my writing, so that was where I
turned. (As you might have guessed, I didn't get any research done after
this idea wormed its way into my head.) After a few ideas fizzled, I came
up with the rather novel idea of creating a source filter for LyX files.
The source filter extracts the text from any LyX-Code sections of the
document.

The code is remarkably simple and short. It almost feels like a hack, but
I've written a handful of tests that show it works for fairly normal forms
of code. It's very easy to add new tests (just add a lyx file to the t/
directory) so adding tests for edge cases and LyX weirdness will be very
easy. Hacking a solution will probably be equally simple.

To use this, you simply create a new LyX document. Type in it just as you
would any other LyX document. Then add a "paragraph" using the style
"LyX-Code" (instead of Standard) and type in some real Perl code. A simple
Hello World printout is sufficient. (Note that LyX has support for tab
indentation in LyX-Code sections, but no more than one new level per line.
Spaces are not limited.) After saving the file, you can execute that code
by saying

perl -MyX the-file.lyx

The module is currently available on Github
<https://github.com/run4flat/perl-MyX>. Simply clone and then run the
normal incantation of Build, Build test, and Build install. A simple
example provides the Fibonacci series, along with commentary on its
behavior for non-integer inputs.

If you use LyX, please check this out and let me know what you think. In
particular, let me know if you hit bugs or strange behavior.

Happy science!
David

P. S. LyX lets you put math-mode equations in LyX-Code. Within 10 minutes
of figuring that out, I made it possible to have Perl variable names that
include subscripts! Of course, there are many ways for math-mode within
Perl code to go wrong, and I'll have to code defensively for that, but
variable names with subscripts is pretty sweet! :-D

-- 
 "Debugging is twice as hard as writing the code in the first place.
  Therefore, if you write the code as cleverly as possible, you are,
  by definition, not smart enough to debug it." -- Brian Kernighan
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to