Including part of a program source file
I am writing some notes using ConTeXt, which involves displaying parts
of some program source files. At present, I am manually cutting and
pasting the parts into the ConTeXt file. Is it possible to make ConTeXt
do that for me? I am thinking of including each part of the Coq sources
between tags like this:
------------------------------------------------------------
$ cat src-file
<tag-1>
part_to_be_included_1
</tag-2>
<tag-2>
part_to_be_included_2
</tag-2>
------------------------------------------------------------
I would like to say something like
\IncludePart{src-file}{tag-1}
in my ConTeXt file to get
part_to_be_included_1
at that place in the PDF output after I run `context'. I would
appreciate any advice on how to go about this.
Thanks,
Raghu.
--
N. Raghavendra
The verbatim commands have a range key which let you select parts of the code, you can use line numbers to include a small block (e.g. range={3,10} or range {3,+7}) or you put labels in your code. \startbuffer % cmd:one:begin \define\FirstCommand {\dosingleempty\doFirstCommand} \def\doFirstCommand[#1]% {This is the definition for the first command} % cmd:one:end % cmd:two:begin \define\SecondCommand {\dosingleempty\doSecondCommand} \def\doSecondCommand[#1]% {This is the definition for the second command} % cmd:two:end \stopbuffer \starttext \typebuffer[range={cmd:two:begin,cmd:two:end}] \stoptext Wolfgang
N. Raghavendra mailto:nyraghu27132@gmail.com 21. April 2018 um 16:00 I am writing some notes using ConTeXt, which involves displaying parts of some program source files. At present, I am manually cutting and pasting the parts into the ConTeXt file. Is it possible to make ConTeXt do that for me? I am thinking of including each part of the Coq sources between tags like this:
------------------------------------------------------------ $ cat src-file <tag-1> part_to_be_included_1 </tag-2>
<tag-2> part_to_be_included_2 </tag-2> ------------------------------------------------------------
I would like to say something like
\IncludePart{src-file}{tag-1}
in my ConTeXt file to get
part_to_be_included_1
at that place in the PDF output after I run `context'. I would appreciate any advice on how to go about this.
Thanks, Raghu.
-- N. Raghavendra
, http://www.retrotexts.net/ Harish-Chandra Research Institute, http://www.hri.res.in/ ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
At 2018-04-21T17:29:58+02:00, Wolfgang Schuster wrote:
The verbatim commands have a range key which let you select parts of the code, you can use line numbers to include a small block (e.g. range={3,10} or range {3,+7}) or you put labels in your code.
Many thanks! It works perfectly, with something like this:
\starttext
\typefile
[range={beg:8e1e0cb9:6524:4a9b:a58e:6610c8bcf156,
end:8e1e0cb9:6524:4a9b:a58e:6610c8bcf156}]
{../coq/univalence/transport/total_path.v}
\typefile
[range={beg:8edf79a4:6fe4:4a0c:a1a4:5be2ab413b47,
end:8edf79a4:6fe4:4a0c:a1a4:5be2ab413b47}]
{../coq/univalence/transport/path_from.v}
\stoptext
Raghu.
--
N. Raghavendra
Can't one also use matching strings in the range={<tag-1>,</tag-1>},
(with the command \typefile)?
Alan
On Sat, 21 Apr 2018 17:29:58 +0200
Wolfgang Schuster
The verbatim commands have a range key which let you select parts of the code, you can use line numbers to include a small block (e.g. range={3,10} or range {3,+7}) or you put labels in your code.
\startbuffer % cmd:one:begin \define\FirstCommand {\dosingleempty\doFirstCommand}
\def\doFirstCommand[#1]% {This is the definition for the first command} % cmd:one:end
% cmd:two:begin \define\SecondCommand {\dosingleempty\doSecondCommand}
\def\doSecondCommand[#1]% {This is the definition for the second command} % cmd:two:end \stopbuffer
\starttext \typebuffer[range={cmd:two:begin,cmd:two:end}] \stoptext
Wolfgang
N. Raghavendra mailto:nyraghu27132@gmail.com 21. April 2018 um 16:00 I am writing some notes using ConTeXt, which involves displaying parts of some program source files. At present, I am manually cutting and pasting the parts into the ConTeXt file. Is it possible to make ConTeXt do that for me? I am thinking of including each part of the Coq sources between tags like this:
------------------------------------------------------------ $ cat src-file <tag-1> part_to_be_included_1 </tag-2>
<tag-2> part_to_be_included_2 </tag-2> ------------------------------------------------------------
I would like to say something like
\IncludePart{src-file}{tag-1}
in my ConTeXt file to get
part_to_be_included_1
at that place in the PDF output after I run `context'. I would appreciate any advice on how to go about this.
Thanks, Raghu.
-- N. Raghavendra
, http://www.retrotexts.net/ Harish-Chandra Research Institute, http://www.hri.res.in/ ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
participants (3)
-
Alan Braslau
-
N. Raghavendra
-
Wolfgang Schuster