[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
\enabledirectives[references.bookmarks.preroll]
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.
\setupinteraction[state=start]
\placebookmarks
\enabledirectives[references.bookmarks.preroll]
\defineselector [language] [max=2,n=1]
\startmode[en]
\setupselector[language][n=1]
\stopmode
\startmode[nl]
\setupselector[language][n=2]
\stopmode
\starttext
\placecontent
\section{\select{language}{English section title}{Dutch section title}}
\startplacefigure[title=\select{language}{English float title}{Dutch
float title}]
\externalfigure[dummy]
\stopplacefigure
\stoptext
> 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.
\startmodeset
[...] {<space>
...<space>
}
[...] {<space>
...<space>
}
\stopmodeset
> 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
- ...
Wolfgang
More information about the ntg-context
mailing list