[NTG-context] Interlinear translations in Context

Huseyin Özoguz h.oezoguz at mmnetz.de
Mon Dec 3 12:51:57 CET 2018

Thank you, I will investigate it, seems to be a pretty powerful 
mechanism. First it failed to compile (with Context version from 2015, 
did not know \defineruby), but with the most recent beta it does well.

So a small btw-question, I compile out of notepad++ (windows 7, 64 bit) 
with this code:

context $(CURRENT_DIRECTORY)\main.tex --synctex=1
taskkill \im SumatraPDF.exe
C:\Users\Huseyin\sumatra.bat "$(CURRENT_DIRECTORY)\main.pdf"

This always uses the default context-version, which path' is saved the 
environment-variables of windows. How can I switch (and control) between 
different context-versions or pathes for compiling without changing the 
environment variables in Win (and after that I have to restart)? I tried 
to write the path directly into the command above, but did not work.

Thanks and I may have questions to the actual question about interlinear 
typesetting later, will try to define some nice macros with 
arabic-german interlinear texts.


Huseyin Özoguz

E-Mail: h.oezoguz at mmnetz.de

Am 03.12.2018 um 11:17 schrieb Hans Hagen:
> On 12/3/2018 10:29 AM, Huseyin Özoguz wrote:
>> Hello,
>> I have now the challenge in a book to set an interlinear translation. 
>> That is two languages word-by-word (original above translation), so 
>> the sentence structure follows the originals language, like its 
>> common in many scientific bible translations.
>> My problem: The TABLES are not suitable, because
>> 1. I have to determine in advance, how many words are in the row, 
>> which depens obviously on the page-width and widths of the words.
>> 2. Its not readable and well editable, because in Context (and most 
>> other languages) one has to write the table in rows and not in 
>> columns, as I need it for interlinear translations.
>> Example:
>> \bTABLE
>> \bTR \bTD word 1, language 1\eTD \bTD word 2, language 1\eTD \bTD 
>> word 3, language 1\eTD \eTR
>> \bTR \bTD word 1, language 2\eTD \bTD word 2, language 2\eTD \bTD 
>> word 3, language 2\eTD \eTR
>> \eTABLE
>> So I can not make this into and simple macro \interlinear{#1}{#2}, 
>> which I could use this way:
>> \interlinear{word 1, language 1}{word 1, language 2}
>> \interlinear{word 2, language 1}{word 2, language 2}
>> \interlinear{word 3, language 1}{word 3, language 2}
>> (all three blocks in the same horizontal line, if no linebreak is 
>> needed)
>> On top of this, the language 1 (arabic) is right-to-left (so language 
>> 2 (german) must follow), it should be compatible with right-to-left 
>> reading someway. I tried with \framed, but failed, because the framed 
>> blocks are set one under the other, not side by side. How can I 
>> achieve a nice way with this simple readable macros?
> Processing this might give you some ideas:
> \usemodule[art-01]\setupbodyfont[dejavu,12pt]
> \defineruby[auto]  [align=auto,color=darkred]
> \defineruby[left]  [align=flushleft,color=darkred]
> \defineruby[right] [align=flushright,color=darkred]
> \defineruby[spread][stretch=yes]
> \showframe \showglyphs \showfontkerns \setupinterlinespace[22pt]
> \starttext
> \startbuffer
>     \dorecurse{20}{\ruby{XYZ}{a|bc|d} }\par
>     \dorecurse{20}{\ruby{PQR}{p|q|r} }\par
>     \dorecurse{20}{\ruby{XYZ}{1|22|333} }\par
>     \dorecurse{20}{\ruby{XYZ}{111|222|333} }\par
>     \dorecurse{20}{\ruby{XYZ}{foobar} }\par
>     \dorecurse{20}{\ruby{XYZ}{fooledbar} }\par
>     \dorecurse{20}{\ruby[spread]{XYZ}{fooledbar} }\par
>     \dorecurse{20}{\ruby{extremely}{wide} }\par
>     \dorecurse{20}{\ruby{wide}{extremely} }\par
>  stopbuffer
> \testfeatureonce{1}{\start \setupinterlinespace[16pt] 
> \setupruby[location=none]                   \getbuffer \stop \page}
> \testfeatureonce{1}{\start \setupinterlinespace[16pt] 
> \setupruby[location=right]                  \getbuffer \stop \page}
> \testfeatureonce{1}{\start \setupinterlinespace[28pt] 
> \setupruby[align=auto,color=darkred]        \getbuffer \stop \page}
> \testfeatureonce{1}{\start \setupinterlinespace[28pt] 
> \setupruby[align=flushleft,color=darkgreen] \getbuffer \stop \page}
> \testfeatureonce{1}{\start \setupinterlinespace[28pt] 
> \setupruby[align=flushright,color=darkblue] \getbuffer \stop \page}
> \testfeatureonce{1}{\start \setupinterlinespace[28pt] 
> \setupruby[align=middle,color=darkyellow]   \getbuffer \stop \page}
> \stoptext

More information about the ntg-context mailing list