
Hello Ric, Wolfgang and Hans, that was very enlightening. Thank you very much for your explanations, advice and tips. Greetings Thomas Am 03.03.25 um 16:27 schrieb Wolfgang Schuster:
Am 03.03.2025 um 15:46 schrieb Rik Kabel:
On 2025-03-03 08:43, Thomas Meyer wrote:
You mean that: % Set the textarea width to 2.6 alphabets. \setbox\scratchbox\hbox{\dorecurse{26}{\character\recurselevel}} \newdimen\Width \Width=\dimexpr(2.6\wd\scratchbox) That's something I don't understand! What is a 2.6 alphabet? What means "scratchbox", "2.6\wd" ... ?
This is straight TeX (not the higher-level nicety of ConTeXt). What it does is create a throw-away box (a scratchbox) and sets in it horizontally one lower case alphabet of the current body font. It creates that alphabet by setting \character{1}\character{2}... \character{26} using a loop. It then measures the width of the box holding the 26 characters (\wd\scratchbox) and multiplies that by 2.6, depositing the result in \Width.
A more ConTeXt-y way to do this might be:
\def\Alphabet{abcdefghijklmnopqrstuvwxyz} \setupbodyfont[libertinus,12pt] \setwidthof\Alphabet\to\AlphabetWidth
and then use width=2.6\AlphabetWidth in your layout
You can also use the avarage character width of the main language but at the moment it's limited to the four languages shown in the example.
\startsetups[averagecharwidth] \page \mainlanguage[#1] \setuplayout[width=70\averagecharwidth] \starttabulate \NC Language \EQ \currentmainlanguage \NC\NR \NC Textwidth \EQ \PtToCm{\the\textwidth} \NC\NR \stoptabulate \samplefile{lorem} \stopsetups
\showframe[text][text]
\starttext \setupwithargument{averagecharwidth}{en} \setupwithargument{averagecharwidth}{nl} \setupwithargument{averagecharwidth}{de} \setupwithargument{averagecharwidth}{pt} \stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___________________________________________________________________________________