ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Wolfgang Schuster <schuster.wolfgang@gmail.com>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Export: \setuphemistich distance=
Date: Wed, 18 Mar 2015 21:34:25 +0100	[thread overview]
Message-ID: <9AB81614-C350-453A-89F6-A8AA10F9F94D@gmail.com> (raw)
In-Reply-To: <op.xvpk6x1bfkrasx@ishamid-pc>


[-- Attachment #1.1: Type: text/plain, Size: 3718 bytes --]


> Am 18.03.2015 um 20:45 schrieb Idris Samawi Hamid ادريس سماوي حامد <ishamid@colostate.edu>:
> 
> On Wed, 18 Mar 2015 11:51:13 -0600, Wolfgang Schuster <schuster.wolfgang@gmail.com <mailto:schuster.wolfgang@gmail.com>> wrote:
> 
>> 
>>> Am 18.03.2015 um 15:04 schrieb Idris Samawi Hamid ادريس سماوي حامد <ishamid@colostate.edu>:
>>> 
>>> Dear gang,
>>> 
>>> In the attached, we export hemistiches:
>>> 
>>> ===============
>>> \setupexport[cssfile=sh_ahmad-qajar.css]
>>> \setupbackend[export=yes]
>>> 
>>> \usemodule[hemistich]
>>> 
>>> \setuphemistich
>>> [width=local,
>>>  distance=1\emwidth,
>>>  separator=]
>>> 
>>>  \setuphemistich
>>> [leftcolor=,
>>>  separatorcolor=,
>>>  rightcolor=]
>>> 
>>>  \setuphemistich
>>> % [separator=\vl\hskip.25em\vl]
>>> [separator=]
>>> 
>>> %% We need separate lines in the export, so use \start|stoplines
>>> \definestartstop[VERSES][before={\blank[medium]\startlines \noindentation},after={\stoplines \blank[medium]}]
>>> \starttext
>>> \startVERSES
>>> \hemistiches{Become a shunner of your affairs;}{Entrust all affairs to the Decision.}
>>> \hemistiches{Thus tight spaces will often widen;}{And open spaces will often get tight.}
>>> \stopVERSES
>>> \stoptext
>>> ===============
>>> 
>>> In the output we get
>>> 
>>> ===============
>>> <div>
>>> <div class="lines">
>>> <div class="line"><div class="line">Become a shunner of your affairs;Entrust all affairs to the Decision.</div><div class="line">Thus tight spaces will often widen;And open spaces will often get tight.</div></div>
>>> </div>
>>> </div>
>>> ===============
>>> 
>>> Is there anyway to tag and export the distance info:
>>> 
>>> distance=1\emwidth
>>> 
>>> so that we can get some space in the xhtml. Note that I do not expect any of the alignment that the hemistiches module provides. Just some reasonable space.
>>> 
>>> That said: How do I design a \start|stophemistiches environment that would get tagged in the output as such (i.e., <div class="hemistiches">)?
>> 
>> You have to add tag commands in the source of the module to get tags in the exported text.
>> 
>> The distance between both texts in the output can be set with CSS but first you need tags.
> 
> Hi Wolfgang,
> 
> Can you give an example of adding tag commands to a macro or to a \start-stop<command>? Thanks as always for the clarity and


Something like this should do it for the hemistiches module.

\unexpanded\def\dodohemistiches#1[#2]#3#4%
  {\dontleavehmode
   \begingroup
   \doifassignmentelse{#2}
     {\edef\currenthemistich{#1}%
      \setupcurrenthemistich[#2]}
     {\def\currenthemistich{#2}}%
   \doifelse{\hemistichparameter\c!width}\v!local
     {\scratchwidth\availablehsize}
     {\scratchwidth\hemistichparameter\c!width\relax}%
   \spaceskip\zeropoint\s!plus\plusone\s!fill\relax
+  \dostarttagged\t!division\currenthemistich
   \hbox to \scratchwidth\bgroup
     \scratchwidth.5\dimexpr\scratchwidth-\hemistichparameter\c!distance\relax
     \hbox to \scratchwidth\bgroup
+      \dostarttagged\t!construct\c!lefttext
       \usehemistichstyleandcolor\c!leftstyle\c!leftcolor#3%
+      \dostoptagged
     \egroup
     \hss
     \begingroup
+      \dostarttagged\t!construct\c!separator
       \usehemistichstyleandcolor\c!separatorstyle\c!separatorcolor
       \hemistichparameter\c!separator
+      \dostoptagged
     \endgroup
     \hss
     \hbox to \scratchwidth\bgroup
+      \dostarttagged\t!construct\c!righttext
       \usehemistichstyleandcolor\c!rightstyle\c!rightcolor#4%
+      \dostoptagged
     \egroup
   \egroup
+  \dostoptagged
   \endgroup}

Wolfgang

[-- Attachment #1.2: Type: text/html, Size: 10148 bytes --]

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2015-03-18 20:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18 14:04 Idris Samawi Hamid ادريس سماوي حامد
2015-03-18 17:51 ` Wolfgang Schuster
2015-03-18 19:45   ` Idris Samawi Hamid ادريس سماوي حامد
2015-03-18 20:34     ` Wolfgang Schuster [this message]
2015-03-19 12:42       ` Idris Samawi Hamid ادريس سماوي حامد

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=9AB81614-C350-453A-89F6-A8AA10F9F94D@gmail.com \
    --to=schuster.wolfgang@gmail.com \
    --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).