[NTG-context] using modeset

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Thu Jun 11 11:34:27 CEST 2020

Jan Willem Flamma schrieb am 11.06.2020 um 10:41:
> Dear list members,
> I write training manuals and use the Modes mechanism a lot to create 
> documents at various competency levels using a single set of source 
> files. So far the manuals have been written in English but now a 
> separate Dutch translation has to be created.
> It is important that the two manuals are setup similarly so the 
> section/subsection numbers and question numbers are the same in the 
> English manual and the Dutch manual. Note: I do not intend to create a 
> manual that has the English and Dutch text at opposite sides (as can be 
> done using streams)
> I’m keen to continue using a single set of source files and thought it 
> would be best to simply type the translated sections and subsections 
> just below the original English sections and subsections using modeset. 
> This gives me the option of creating an English case and a Dutch case. 
> Within this two cases I would still apply all sorts of other modes using 
> \startmode and \doifmode.
> Duplication is unavoidable but it would make sense to try and re-use the 
> existing structural elements such as \startsection \startsubsection 
> \placefigure etc as much as possible. After all, only the title and 
> caption text needs to be translated.
> I tried doing this but in the case of \startchapter using a \doifmode 
> but the PDF bookmarks text is not correctly generated.

You need


in your setup files to get the correct text in the bookmarks.

> I also tried placing a figure in between 2 modeset cases but this does 
> not work.
> See attached .tex file.

A alternative to modes is the selector mechanism to choose between 
different arguments.




\defineselector [language] [max=2,n=1]





\section{\select{language}{English section title}{Dutch section title}}

\startplacefigure[title=\select{language}{English float title}{Dutch 
float title}]


> Finally in the attached PDF below, I noticed that a double space appears 
> depending on the position of the text and curly bracket. Is this intended?

Yes because you add spaces between the braces and the text which appear 
in the output.

     [...] {<space>
     [...] {<space>

> Questions:
>   * Is the modeset mechanism indeed the best way forward or are there
>     better ways to achieve the desired outcome?
>   * How can I re-use the existing ConTeXt code as much as possible and
>     still have the correct English and Dutch title and caption text for
>     all the structural elements and floats.

There are different ways with pros and contras:

   - But the english and dutch texts for each section in separate files
   - Use buffers for each paragraph and load the one you need
   - Store the texts in variables and flush the ones you need
   - Use XML as input and tags your texts which you can filter
   - ...


More information about the ntg-context mailing list