In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces. — \definefallbackfamily [mainface] [mono] [courier] [range={0000-00FF},force=yes] \definefontfamily [mainface][serif][stix] \definefontfamily [mainface][mono][stix] \definefontfamily [mainface][math][stix] \setupbodyfont [mainface,10pt] \starttext \starttyping code code . code . code . code code code . . code code . . . code code . . . . code code . code \stoptyping \stoptext —
On 12/11/18 3:05 PM, Hans Åberg wrote:
In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces. Hi Hans,
what are you trying to do? Sorry, but I’m afraid that ConTeXt doesn’t spaces as glyphs. Would it be easier that you use a proper mono font for typing? Pablo
— \definefallbackfamily [mainface] [mono] [courier] [range={0000-00FF},force=yes]
\definefontfamily [mainface][serif][stix] \definefontfamily [mainface][mono][stix] \definefontfamily [mainface][math][stix]
\setupbodyfont [mainface,10pt]
\starttext
\starttyping code code . code . code . code code code . . code code . . . code code . . . . code code . code \stoptyping
\stoptext — ___________________________________________________________________________________ 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://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________
On 11 Dec 2018, at 21:18, Pablo Rodriguez
wrote: On 12/11/18 3:05 PM, Hans Åberg wrote:
In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces. Hi Hans,
Hello,
what are you trying to do?
Using monospace to make some computer code stand out as such. It would suffice with select portions, though, like some keywords.
Sorry, but I’m afraid that ConTeXt doesn’t spaces as glyphs.
Right, but for a monospace font in verbatim mode, one might expect it. Maybe there should be a monospace option for the fallback.
Would it be easier that you use a proper mono font for typing?
Do you have any suggestions? —There is no such font covering the several thousands of glyphs used in math, and I am not sure it would help readability. Monospace somehow got popular for code in the ASCII range.
On 11 Dec 2018, at 15:05, Hans Åberg
wrote: In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces.
A workaround is simply making the monospace font the main font: \definefallbackfamily [mainface][mono][stix][range={0100-10FFFF},force=yes] \definefontfamily [mainface][mono][courier]
On 12/19/2018 10:46 AM, Hans Åberg wrote:
On 11 Dec 2018, at 15:05, Hans Åberg
wrote: In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces.
A workaround is simply making the monospace font the main font: \definefallbackfamily [mainface][mono][stix][range={0100-10FFFF},force=yes] \definefontfamily [mainface][mono][courier]
You can force a monospaced by inheriting from a paremnt font, as in: \definefontfallback [Mono] [almfixed*none] [arabic] [force=yes] \definefontfallback [Mono] [sileot*none] [hebrew] [force=yes,factor=1] % factor forces a monospace \setupbodyfont [dejavu,10pt] \showglyphs \starttext \starttyping {لَيْسَ لَدَيَّ أَيُّ فِكْرَةٍ عَمَّا يَعْنِيهِ هٰذَا.} {אין לי מושג מה זה אומר.} \stoptyping \stoptext ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 19 Dec 2018, at 11:31, Hans Hagen
wrote: On 12/19/2018 10:46 AM, Hans Åberg wrote:
On 11 Dec 2018, at 15:05, Hans Åberg
wrote: In the example below, multiple spaces do not use the spacing of the fallback font for multiple spaces, but instead of the main font it seems, despite the ASCII U+0020 being in the forced override. So the question is how to force ConTeXt to use the fallback font also for multiple spaces. A workaround is simply making the monospace font the main font: \definefallbackfamily [mainface][mono][stix][range={0100-10FFFF},force=yes] \definefontfamily [mainface][mono][courier] You can force a monospaced by inheriting from a paremnt font, as in:
\definefontfallback [Mono] [almfixed*none] [arabic] [force=yes]
\definefontfallback [Mono] [sileot*none] [hebrew] [force=yes,factor=1] % factor forces a monospace
\setupbodyfont [dejavu,10pt]
I thought such a feature would be suitable, but I am not sure now to get the math glyph override with the \definefontfallback command (see example below). With \definefallbackfamily there is an extra argument for the style: \definefallbackfamily [mainface][mono][stixtwotext][range={00B2-00B3,00B9,02070-0208F},force=yes] Otherwise, the use of monospace has several functions: Signaling it is computer code, allowing indentation, and allowing a tabular style. Maybe it should not all be put on the font (editing it by hand with markup may be tedious and error prone). An incidental remark: TeX puts simultaneous sub- and superscripts above each other, and the Unicode sub- and superscripts are translated as such in the example below math mode. But actually, there may be a semantic difference between the order (though not in the case below), and that is used in tensor notation. In TeX, the original suggestion is to use {} in such a case. — \definefontfallback [Mono] [stixtwotext] [range={0100-10FFFF},factor=1] [force=yes] \setupbodyfont [dejavu,10pt] \showglyphs \starttyping 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stoptyping \startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula \stoptext —
On 12/19/2018 3:48 PM, Hans Åberg wrote:
An incidental remark: TeX puts simultaneous sub- and superscripts above each other, and the Unicode sub- and superscripts are translated as such in the example below math mode. But actually, there may be a semantic difference between the order (though not in the case below), and that is used in tensor notation. In TeX, the original suggestion is to use {} in such a case.
— \definefontfallback [Mono] [stixtwotext] [range={0100-10FFFF},factor=1] [force=yes]
\setupbodyfont [dejavu,10pt]
\showglyphs
\starttyping 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stoptyping
\startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula ah, so it's time for some new (undocumented) math magic .. the next beta will have this:
\startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula \startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 19 Dec 2018, at 18:25, Hans Hagen
wrote: On 12/19/2018 3:48 PM, Hans Åberg wrote:
An incidental remark: TeX puts simultaneous sub- and superscripts above each other, and the Unicode sub- and superscripts are translated as such in the example below math mode. But actually, there may be a semantic difference between the order (though not in the case below), and that is used in tensor notation. In TeX, the original suggestion is to use {} in such a case. — \definefontfallback [Mono] [stixtwotext] [range={0100-10FFFF},factor=1] [force=yes] \setupbodyfont [dejavu,10pt] \showglyphs \starttyping 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stoptyping \startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula ah, so it's time for some new (undocumented) math magic .. the next beta will have this:
\startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula
\startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula
That might be useful for those depending on it, and presumably there is a \stackscripts, too. Just comes to my mind: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
On Wed, 19 Dec 2018 18:46:30 +0100
Hans Åberg
Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
Isn't that poor nomenclature, being ambiguous? I would explicitly write (𝑥₀)² or (𝑥²)₀ in such cases, and I have also seen 𝑥²|₀ used for example, or other non-ambiguous shorthands. Alan
On 19 Dec 2018, at 19:01, Alan Braslau
wrote: On Wed, 19 Dec 2018 18:46:30 +0100 Hans Åberg
wrote: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
Isn't that poor nomenclature, being ambiguous?
Indeed, but also the norm due to practical limitations.
I would explicitly write (𝑥₀)² or (𝑥²)₀ in such cases, and I have also seen 𝑥²|₀ used for example, or other non-ambiguous shorthands.
Perhaps it might become cumbersome to carry such notation along all through, reserving it for definitions.
On Wed, 19 Dec 2018 19:16:23 +0100
Hans Åberg
On 19 Dec 2018, at 19:01, Alan Braslau
wrote: On Wed, 19 Dec 2018 18:46:30 +0100 Hans Åberg
wrote: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
Isn't that poor nomenclature, being ambiguous?
Indeed, but also the norm due to practical limitations.
I would explicitly write (𝑥₀)² or (𝑥²)₀ in such cases, and I have also seen 𝑥²|₀ used for example, or other non-ambiguous shorthands.
Perhaps it might become cumbersome to carry such notation along all through, reserving it for definitions.
In physics, we love such constructions, such as the so-called Einstein notation as one example. Alan
On 19 Dec 2018, at 19:28, Alan Braslau
wrote: On Wed, 19 Dec 2018 19:16:23 +0100 Hans Åberg
wrote: On 19 Dec 2018, at 19:01, Alan Braslau
wrote: On Wed, 19 Dec 2018 18:46:30 +0100 Hans Åberg
wrote: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
Isn't that poor nomenclature, being ambiguous?
Indeed, but also the norm due to practical limitations.
I would explicitly write (𝑥₀)² or (𝑥²)₀ in such cases, and I have also seen 𝑥²|₀ used for example, or other non-ambiguous shorthands.
Perhaps it might become cumbersome to carry such notation along all through, reserving it for definitions.
In physics, we love such constructions, such as the so-called Einstein notation as one example.
If you mean tensor component notation, that is different, as any component can be shifted. In pure math, one is more likely to see them stacked, also for tensors in differential geometry, as one typically indicates their type somehow.
On 12/19/2018 6:46 PM, Hans Åberg wrote:
On 19 Dec 2018, at 18:25, Hans Hagen
wrote: On 12/19/2018 3:48 PM, Hans Åberg wrote:
An incidental remark: TeX puts simultaneous sub- and superscripts above each other, and the Unicode sub- and superscripts are translated as such in the example below math mode. But actually, there may be a semantic difference between the order (though not in the case below), and that is used in tensor notation. In TeX, the original suggestion is to use {} in such a case. — \definefontfallback [Mono] [stixtwotext] [range={0100-10FFFF},factor=1] [force=yes] \setupbodyfont [dejavu,10pt] \showglyphs \starttyping 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stoptyping \startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula ah, so it's time for some new (undocumented) math magic .. the next beta will have this:
\startformula 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula
\startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula
That might be useful for those depending on it, and presumably there is a \stackscripts, too. Just comes to my mind:
Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
ok, we can apply selectively ... {\unstackscripts ... {\stackscripts ...} ... } ... maybe we need short commands that take an argument, like \unstack{............} but that might clash ... just give it some thought ... Hans -- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 19 Dec 2018, at 19:25, Hans Hagen
wrote: \startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula That might be useful for those depending on it, and presumably there is a \stackscripts, too. Just comes to my mind: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
ok, we can apply selectively ... {\unstackscripts ... {\stackscripts ...} ... } ... maybe we need short commands that take an argument, like \unstack{............} but that might clash ... just give it some thought ...
Your suggestion might be great for simplifying tensor component notation, as one then can omit separators like {} or |. But then what would happen, even perhaps not that common, if one would need to have it stacked somewhere else in the formula. So in my mind, this would be just top level \unstackscripts … \stackscripts … \unstackscripts. The other idea would be something like \partialstackscripts, but actual demand is unclear. :-)
On 12/19/2018 8:43 PM, Hans Åberg wrote:
On 19 Dec 2018, at 19:25, Hans Hagen
wrote: \startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula That might be useful for those depending on it, and presumably there is a \stackscripts, too. Just comes to my mind: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
ok, we can apply selectively ... {\unstackscripts ... {\stackscripts ...} ... } ... maybe we need short commands that take an argument, like \unstack{............} but that might clash ... just give it some thought ...
Your suggestion might be great for simplifying tensor component notation, as one then can omit separators like {} or |. But then what would happen, even perhaps not that common, if one would need to have it stacked somewhere else in the formula. So in my mind, this would be just top level \unstackscripts … \stackscripts … \unstackscripts.
The other idea would be something like \partialstackscripts, but actual demand is unclear. :-)
well, playwith what we have now and we can always extend it ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 19 Dec 2018, at 22:24, Hans Hagen
wrote: On 12/19/2018 8:43 PM, Hans Åberg wrote:
On 19 Dec 2018, at 19:25, Hans Hagen
wrote: \startformula \unstackscripts 𝑷₂₀(0), ∀²𝑥⁰⁺²₂₀: 𝑷₂₀(𝑥⁰⁺²₂₀) ⇒ 𝑷₂₀(s(𝑥⁰⁺²₂₀)) ⊢ ∀¹𝑦⁰⁺¹₂₀ 𝑷₂₀(𝑦⁰⁺¹₂₀) \stopformula That might be useful for those depending on it, and presumably there is a \stackscripts, too. Just comes to my mind: Though probably non-standard in typesetting, one might make a slight typographic difference between 𝑥²₀ and 𝑥₀² by letting the sub- or superscripts that come later partially, but not fully, to the position of the one that comes before. For example, 𝑥₀² might mean the square of 𝑥₀, and 𝑥²₀ the component 0 of 𝑥², not necessarily the same. Traditionally, such things are left for the reader to interpret.
ok, we can apply selectively ... {\unstackscripts ... {\stackscripts ...} ... } ... maybe we need short commands that take an argument, like \unstack{............} but that might clash ... just give it some thought ... Your suggestion might be great for simplifying tensor component notation, as one then can omit separators like {} or |. But then what would happen, even perhaps not that common, if one would need to have it stacked somewhere else in the formula. So in my mind, this would be just top level \unstackscripts … \stackscripts … \unstackscripts. The other idea would be something like \partialstackscripts, but actual demand is unclear. :-) well, playwith what we have now and we can always extend it
Indeed. It came to my mind, because I started to think about a good ways to represent sub- and superscripts in a parser.
participants (4)
-
Alan Braslau
-
Hans Hagen
-
Hans Åberg
-
Pablo Rodriguez