Difference between revisions of "Filecontents"
Jump to navigation
Jump to search
m (New interface for messages) |
m (Typo correction) |
||
Line 1: | Line 1: | ||
LaTeX provides a <code>filecontent</code> environment to embed text in your document | LaTeX provides a <code>filecontent</code> environment to embed text in your document | ||
− | which is written to | + | which is written to an external document when you process it. The filename is given with |
the argument for the environment. | the argument for the environment. | ||
− | You could define | + | You could define an environment for the same effect with the buffer mechanism, the code |
− | for such | + | for such an environment is: |
<texcode> | <texcode> |
Revision as of 08:59, 1 October 2009
LaTeX provides a filecontent
environment to embed text in your document
which is written to an external document when you process it. The filename is given with
the argument for the environment.
You could define an environment for the same effect with the buffer mechanism, the code for such an environment is:
\unprotect \definemessageconstant {filecontents} \startinterface all \setinterfacemessage{filecontents}{title}{filecontents} \setinterfacemessage{filecontents}{1} {Overwriting file --} \setinterfacemessage{filecontents}{2} {Writing file --} \stopinterface \def\startfilecontents {\begingroup \protectbuffersfalse \dostartfilecontents} \def\dostartfilecontents[#1]% {\doiffileexistselse{#1} {\showmessage\m!filecontents{1}{#1}} {\showmessage\m!filecontents{2}{#1}}% \beforesplitstring#1\at.\to\filename \aftersplitstring #1\at.\to\extension \let\f!temporaryextension\extension \dostartbuffer[\filename][startfilecontents][stopfilecontents]} \def\stopfilecontents {\doifmode{mkiv}{\savebuffer[\filename]\ctxlua{file.copy("\jobname-\filename.tmp","\filename.\f!temporaryextension")}}% \endgroup} \protect
You could use this environment in your document in the following way.
\startfilecontents[song.txt] If I could choose my paradise, And please myself with choice of bliss, Then I would have your soft blue eyes And rosy little mouth to kiss! Your lips, as smooth and tender, child, As rose-leaves in a coppice wild. If fate bade choose some sweet unrest, To weave my troubled life a snare, Then I would say "her maiden breast And golden ripple of her hair;" And weep amid those tresses, child, Contented to be thus beguiled. (Thomas Asche - No and Yes) \stopfilecontents