ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <j.hagen@xs4all.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>,
	Aditya Mahajan <adityam@umich.edu>
Subject: Re: Minimal code for exporting custom tags
Date: Mon, 18 May 2020 11:34:24 +0200	[thread overview]
Message-ID: <11099836-3176-676a-7ce4-365153e0579d@xs4all.nl> (raw)
In-Reply-To: <nycvar.YAK.7.77.849.2005180259010.225319@nqv-guvaxcnq>

On 5/18/2020 9:09 AM, Aditya Mahajan wrote:
> Hi,
> 
> What is needed to enable export of user defined macros? Consider the 
> following example:
> 
> 
> ```
> \def\startmycommand{\dostarttagged{mycommand}\empty}
> \def\stopmycommand {\dostoptagged}
> 
> \setupbackend[export=xml, level=0]
> 
> \starttext
> \startsection[title={Sample document}]
>    \startparagraph
>      This is a paragraph
>    \stopparagraph
>    \startmycommand
>      This is mycommand
>    \stopmycommand
> \stopsection
> \stoptext
> ```
> 
> If I compile using `context --trackers=structures.tags filename`, I get
> 
> ```
> backend         > tags > U+0031:1 => U+0031:1 : 00004 document>1 
> section>1 sectioncaption>1 sectionnumber>1
> backend         > tags > U+0053:S => U+0074:t : 00005 document>1 
> section>1 sectioncaption>1 sectiontitle>1
> backend         > tags > U+0054:T => U+0068:h : 00007 document>1 
> section>1 sectioncontent>1 paragraph>1
> backend         > tags > U+0054:T => U+0064:d : 00008 document>1 
> section>1 sectioncontent>1 mycommand>1
> ```
> 
> so the tag is applied. I can also verify this by looking at the PDF 
> which contains
> 
> ```
> << /K 27 0 R /ParentTree 2 0 R /RoleMap << /document /Div /mycommand 
> /Span /paragraph /P /section /Sect /sectioncaption /Div /sectioncontent 
> /Div /sectionnumber /H /sectiontitle /H >> /Type /StructTreeRoot >>
> ```
> 
> and the tag `mycommand` is used at appropriate location.
> 
> However, the exported xml file contains no tag:
> 
> ```
> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
> 
> <!--
> 
>      input filename   : test-tag
>      processing date  : 2020-05-18T03:00:33-04:00
>      context version  : 2020.04.30 11:10
>      exporter version : 0.35
> 
> -->
> 
> <!-- This export file is used for filtering runtime only! -->
> 
> <document context="2020.04.30 11:10" date="2020-05-18T03:00:33-04:00" 
> file="test-tag" language="en" version="0.35" 
> xmlns:m="http://www.w3.org/1998/Math/MathML">
>   <metadata>
>   </metadata>
>   <section detail="section" chain="section" implicit="1" level="3">
>    <sectioncaption>
>     <sectionnumber>1</sectionnumber>
>     <sectiontitle>Sample document</sectiontitle>
>    </sectioncaption>
>    <sectioncontent>
>     <paragraph>This is a paragraph</paragraph>
>    </sectioncontent>
>   </section>
> </document>
> ```
> 
> What am I missing in order to pass user-defined macros to the exporter?
you're probably missing documentation + a high level define command

This registers (extra) elements:

\setelementbackendtag[mycommand]
\setelementnature    [mycommand][mixed]

after that you can use \startelement[mycommamd]

\starttext
\startsection[title={Sample document}]
   \startparagraph
     This is a paragraph
   \stopparagraph
   \startelement[mycommand]
     This is mycommand
   \stopelement
\stopsection
\stoptext



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

  reply	other threads:[~2020-05-18  9:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-18  7:09 Aditya Mahajan
2020-05-18  9:34 ` Hans Hagen [this message]
2020-05-18 13:50   ` Aditya Mahajan
2020-05-18 17:31     ` Aditya Mahajan
2020-05-19  5:45       ` Aditya Mahajan
2020-05-19  6:16         ` Aditya Mahajan

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=11099836-3176-676a-7ce4-365153e0579d@xs4all.nl \
    --to=j.hagen@xs4all.nl \
    --cc=adityam@umich.edu \
    --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).