redefine space to be the same as \␣ similar to knuthian approach
If I have the following, with these linebreaks as in: {\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}} and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required Bear with me here, in the current state, for example, and as long as say «…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong. Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. } The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways. Furthermore, with the same token, if width is specified with a \setuplayout[width=15cm] Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result. It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else. from the TeXbook 380-381 «\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.» «In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting and «When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.» -- If at first you don't succeed, you must be a programmer.
Hi,
It is extremely difficult to follow what you write.
On Fri, Aug 18, 2023 at 11:43 AM Carlos
If I have the following, with these linebreaks as in:
{\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}}
Is that the complete document? What do you have in mind with obeying lines in the middle of a paragraph?
and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required
cmr? Not used in ConTeXt for a long time. (And what does the changing of font have to do with this?)
Bear with me here, in the current state, for example, and as long as say
«…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong.
What?
Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. }
Likewise what?
The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways.
Consistency of what? Spacing? Where? Can you make a complete example? (You can show space amount with \showmakup[space])
Furthermore, with the same token, if width is specified with a
\setuplayout[width=15cm]
OK, here the game changes...
Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result.
Of course the width influences the spacing. That is how the paragraph builder works (and really, why it often looks good).
It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else.
I have no clue of what you talk about here.
from the TeXbook 380-381
«\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.»
«In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting
and
«When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.»
Everything you cite above is very likely true for plain TeX, but maybe not for ConTeXt... /Mikael PS I do not think that your emails come out well. In order to get help, I would suggest a strategy that not so much only sounds as nagging and complaints. One thing that has been lacking is a clear explanation of what you really try to achieve.
On Fri, Aug 18, 2023 at 06:20:29PM +0200, Mikael Sundqvist wrote:
Hi,
It is extremely difficult to follow what you write.
On Fri, Aug 18, 2023 at 11:43 AM Carlos
wrote: If I have the following, with these linebreaks as in:
{\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}}
Is that the complete document? What do you have in mind with obeying lines in the middle of a paragraph?
it's the only possible way off the top of my head to circumvent body font size with a given width, while keeping both: the kern of \TeX\ and the double spacing that lmtx injects following a sentence, within sanity check, hence the nonfrenchspacing The separation of any of these four components would have hurt T E X sig nificantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important. But a system cannot be successful if it is too strongly influenced by a single person. Once the initial design is
and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required
cmr? Not used in ConTeXt for a long time. (And what does the changing of font have to do with this?)
latin modern.
Bear with me here, in the current state, for example, and as long as say
«…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong.
What?
Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. }
Likewise what?
The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways.
Consistency of what? Spacing? Where? Can you make a complete example? (You can show space amount with \showmakup[space])
yes. and showmakeup displays: .SP:10.945 If rather than for example with: .SP:5.235 OnceSP:3.926 theSP:3.926 initial SP:3.926 designSP:3.926 is and :3.586 THK:-1.853 H__E X HK:-1.390 SP:3.586 sigRH:0.000 IR:0.000 RS:0.000 LH:0.000 H__nificantlyLS:0.000BS:6.565 and here's your example: \setuplayout[width=16cm] \showmakeup \starttext Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \setupbodyfont[12.895pt] {\ss The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.\par} Do you see that width of 16cm? That's what throws it off but then again, anything less than that 12.895 font size, throws off the kern of \TeX\ too. As a result, I can't use any lower font size, before everything, including kerning of \TeX\ and spaces after sentences, are completely off. I mean. obeylines serve a better function than having extra spaces all over with no end in sight, really.
Furthermore, with the same token, if width is specified with a
\setuplayout[width=15cm]
OK, here the game changes...
Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result.
Of course the width influences the spacing. That is how the paragraph builder works (and really, why it often looks good).
It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else.
I have no clue of what you talk about here.
from the TeXbook 380-381
«\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.»
«In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting
and
«When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.»
Everything you cite above is very likely true for plain TeX, but maybe not for ConTeXt...
/Mikael
PS I do not think that your emails come out well. In order to get help, I would suggest a strategy that not so much only sounds as nagging and complaints. One thing that has been lacking is a clear explanation of what you really try to achieve. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- You have a tendency to feel you are superior to most computers.
On 18. Aug 2023, at 20:17, Carlos
wrote: On Fri, Aug 18, 2023 at 06:20:29PM +0200, Mikael Sundqvist wrote:
Hi,
It is extremely difficult to follow what you write.
On Fri, Aug 18, 2023 at 11:43 AM Carlos
wrote: If I have the following, with these linebreaks as in:
{\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}}
Is that the complete document? What do you have in mind with obeying lines in the middle of a paragraph?
it's the only possible way off the top of my head to circumvent body font size with a given width, while keeping both: the kern of \TeX\ and the double spacing that lmtx injects following a sentence, within sanity check, hence the nonfrenchspacing
The separation of any of these four components would have hurt T E X sig nificantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important. But a system cannot be successful if it is too strongly influenced by a single person. Once the initial design is
and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required
cmr? Not used in ConTeXt for a long time. (And what does the changing of font have to do with this?)
latin modern.
Bear with me here, in the current state, for example, and as long as say
«…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong.
What?
Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. }
Likewise what?
The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways.
Consistency of what? Spacing? Where? Can you make a complete example? (You can show space amount with \showmakup[space])
yes. and showmakeup displays: .SP:10.945 If
rather than for example with: .SP:5.235 OnceSP:3.926 theSP:3.926 initial SP:3.926 designSP:3.926 is
and
:3.586 THK:-1.853 H__E X HK:-1.390 SP:3.586 sigRH:0.000 IR:0.000 RS:0.000 LH:0.000 H__nificantlyLS:0.000BS:6.565
and here's your example:
\setuplayout[width=16cm] \showmakeup
\starttext
Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \setupbodyfont[12.895pt]
{\ss The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.\par}
Do you see that width of 16cm? That's what throws it off
but then again, anything less than that 12.895 font size, throws off the kern of \TeX\ too.
As a result, I can't use any lower font size, before everything, including kerning of \TeX\ and spaces after sentences, are completely off.
I mean. obeylines serve a better function than having extra spaces all over with no end in sight, really.
Furthermore, with the same token, if width is specified with a
\setuplayout[width=15cm]
OK, here the game changes...
Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result.
Of course the width influences the spacing. That is how the paragraph builder works (and really, why it often looks good).
It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else.
I have no clue of what you talk about here.
from the TeXbook 380-381
«\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.»
«In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting
and
«When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.»
Everything you cite above is very likely true for plain TeX, but maybe not for ConTeXt...
/Mikael
PS I do not think that your emails come out well. In order to get help, I would suggest a strategy that not so much only sounds as nagging and complaints. One thing that has been lacking is a clear explanation of what you really try to achieve. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- You have a tendency to feel you are superior to most computers.
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
On Fri, Aug 18, 2023 at 06:20:29PM +0200, Mikael Sundqvist wrote:
Hi,
It is extremely difficult to follow what you write.
On Fri, Aug 18, 2023 at 11:43 AM Carlos
wrote: If I have the following, with these linebreaks as in:
{\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}}
Is that the complete document? What do you have in mind with obeying lines in the middle of a paragraph?
and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required
cmr? Not used in ConTeXt for a long time. (And what does the changing of font have to do with this?)
Bear with me here, in the current state, for example, and as long as say
«…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong.
What?
Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. }
Likewise what?
The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways.
Consistency of what? Spacing? Where? Can you make a complete example? (You can show space amount with \showmakup[space])
Furthermore, with the same token, if width is specified with a
\setuplayout[width=15cm]
OK, here the game changes...
Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result.
Of course the width influences the spacing. That is how the paragraph builder works (and really, why it often looks good).
It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else.
I have no clue of what you talk about here.
from the TeXbook 380-381
«\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.»
«In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting
and
«When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.»
Everything you cite above is very likely true for plain TeX, but maybe not for ConTeXt...
/Mikael
PS I do not think that your emails come out well. In order to get help, I would suggest a strategy that not so much only sounds as nagging and complaints. One thing that has been lacking is a clear explanation of what you really try to achieve.
Mikael, I'll surely heed your advice with that strategy. It's almost impossible to have a decent looking pdf with lmtx kerning of a simple word sequence is off, along with spurious spaces interjected between sentences. What gives? And with luatex frozen for better or for worse, I better stick to plain tex -- Thus spake the master programmer: "After three days without programming, life becomes meaningless." -- Geoffrey James, "The Tao of Programming"
On Fri, Aug 18, 2023 at 02:26:55PM -0400, Carlos wrote:
On Fri, Aug 18, 2023 at 06:20:29PM +0200, Mikael Sundqvist wrote:
Hi,
It is extremely difficult to follow what you write.
On Fri, Aug 18, 2023 at 11:43 AM Carlos
wrote: If I have the following, with these linebreaks as in:
{\par But a system cannot be successful if it is too strongly influenced by a single person. {\obeylines Once the initial design is complete and fairly robust, the real test begins as people with many different viewpoints undertake their own experiments.}}
Is that the complete document? What do you have in mind with obeying lines in the middle of a paragraph?
and opted to load another font, other than cmr that is, a \frenchspacing approach wouldn't be further required
cmr? Not used in ConTeXt for a long time. (And what does the changing of font have to do with this?)
Bear with me here, in the current state, for example, and as long as say
«…person.␣{\obeylines Once the initial is complete…» though feasible enough, leaves any prior \␣ at the mercy of whatever fontsize and/or set width happens to be. And this is just plain wrong.
What?
Likewise, if a word sequence such as \TeX\ occurs as in {\ss The separation of any of these four components would have hurt \TeX\ significantly. }
Likewise what?
The next sentence: «If I had not participated…» does not get any \nofrenchspacing which is equally and doubly problematic. It shows lack of consistency. And this ought not to be an ‹either› ‹or› scenario. But rather, an and conjunctional construct. It fails both ways.
Consistency of what? Spacing? Where? Can you make a complete example? (You can show space amount with \showmakup[space])
Furthermore, with the same token, if width is specified with a
\setuplayout[width=15cm]
OK, here the game changes...
Anything less than 12.895pt, especifically for that use case, wwould throw anything, particularly control sequences such as \TeX\ out of whack, and conversely, once a value of that very pt or pica or whatever is lowered, it brings that nonfrenchspacing right back on. And if width increments occur, then it follows that any control sequence kerning also gets thrown off as a result.
Of course the width influences the spacing. That is how the paragraph builder works (and really, why it often looks good).
It seems so far, that with lmtx, any standalone file, document, minimal working example that does not load cmr at the outset does not produce an acceptable outcome either. By saying acceptable I meant to say it namely from a typographical point of view. Nothing else.
I have no clue of what you talk about here.
from the TeXbook 380-381
«\obeylines doesn’t say ‘\def^^M{\par}’, so we must make any desired changes to \par before invoking \obeylines. (2) The \uncatcodespecials operation changes a space to category 12; but the \tt font has the character ‘␣’ in the ⟨space⟩ position, so we don’t really want ␣12 . (3) The \obeyspaces macro in Appendix B merely changes the ⟨space⟩ character to category 13; active character ␣13 has been defined to be the same as \space, a macro that expands to ␣10 . This is usually what is desired; for example, it means that spaces in constructions like ‘\hbox to 10 pt {...}’ won’t cause any trouble. But in our application it has an undesirable effect, because it produces spaces that are affected by the space factor. To defeat this feature, it’s necessary either to say \frenchspacing or to redefine ␣13 to be the same as \␣. The latter alternative is better, because the former will discard spaces at the beginning of each line.»
«In theory, this seems like it ought to work; but in practice, it fails in two ways. One rather obvious failure—at least, it becomes obvious when the macro is tested—is that all the empty lines of the file are omitted. The reason is that the \par command at the end of an empty line doesn’t start up a new paragraph, because it occurs in vertical mode. The other failure is not as obvious, because it occurs much less often: The \tt fonts contain ligatures for Spanish punctuation, so the sequences ?‘ and !‘ will be printed as ¿ and ¡ respectively. Both of these defects can be cured by inserting
and
«When INITEX creates a brand new TEX, all characters have a space factor code of 1000, except that the uppercase letters ‘A’ through ‘Z’ have code 999. (This slight difference is what makes punctuation act differently after an uppercase letter; do you see why?) Plain TEX redefines a few of these codes using the \sfcode primitive, which is similar to \catcode (see Appendix B); for example, the instructions \sfcode‘)=0 \sfcode‘.=3000 make right parentheses “transparent” to the space factor, while tripling the stretcha- bility after periods. The \frenchspacing operation resets \sfcode‘. to 1000.»
Everything you cite above is very likely true for plain TeX, but maybe not for ConTeXt...
/Mikael
PS I do not think that your emails come out well. In order to get help, I would suggest a strategy that not so much only sounds as nagging and complaints. One thing that has been lacking is a clear explanation of what you really try to achieve.
Mikael, I'll surely heed your advice with that strategy. It's almost impossible to have a decent looking pdf with lmtx
kerning of a simple word sequence is off, along with spurious spaces interjected between sentences. What gives?
And with luatex frozen for better or for worse, I better stick to plain tex
-- Thus spake the master programmer: "After three days without programming, life becomes meaningless." -- Geoffrey James, "The Tao of Programming"
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- They are relatively good but absolutely terrible. -- Alan Kay, commenting on Apollos
Hi, 1. Learn to two provide a working minimal example which shows the problem. 2. The example below results in a correct output for \TEX. \setuplayout[width=16cm] \showmakeup \starttext Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \setupbodyfont[12.895pt] {\ss The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.\par} \stoptext Wolfgang
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you? Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now. So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right? Also, Did you see the attachment I sent prior to your message?
2. The example below results in a correct output for \TEX.
Not in my end with any font other than latin modern
\setuplayout[width=16cm] \showmakeup
\starttext
Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual.
\setupbodyfont[12.895pt]
{\ss The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.\par}
\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://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- Your mode of life will be changed to ASCII.
Hi,
On Sat, Aug 19, 2023 at 3:36 PM Carlos
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right?
Also, Did you see the attachment I sent prior to your message?
Maybe your system is broken?
2. The example below results in a correct output for \TEX.
Not in my end with any font other than latin modern
Here \setupbodyfont[stixtwo] \setuplayout[width=16cm] \showmakeup \starttext Thus, I came to the conclusion that the designer of a new system must not only be the implementer and first large||scale user; the designer should also write the first user manual. \setupbodyfont[12.895pt] {\ss The separation of any of these four components would have hurt \TeX\ significantly. If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important.\par} \stoptext gives the attached. I also tried all other fonts I had, no problems. /Mikael
Carlos schrieb am 19.08.2023 um 15:32:
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right?
Please explain why this example (which is a valid ConTeXt document) works %%%% begin example \starttext \starttext \stoptext \stoptext %%%% end example but this doesn't. %%%% begin example \starttext \starttext %%%% end example Wolfgang
On Sun, Aug 20, 2023 at 03:38:15PM +0200, Wolfgang Schuster wrote:
Carlos schrieb am 19.08.2023 um 15:32:
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right?
Please explain why this example (which is a valid ConTeXt document) works
Opening a group with \starttext makes no sense because there is nothing after \stoptext. The possibility to nest \starttext is necessary when you \startproduct etc. where components can be be documents on its own and this means \startcomponent includes \starttext in its definition.
%%%% begin example \starttext
\starttext
\stoptext
\stoptext %%%% end example
but this doesn't.
%%%% begin example \starttext
\starttext %%%% end example
Wolfgang
Take a look at the command line when you process a file and you should see something like this: As you can see the luatex engine processes the file cont-yes.mkiv and not your document which put as argument to context. Your document is just read by cont-yes.mkiv and at the end of the document ConTeXt inserts an extra \stoptext which is ignored when your document is valid (equal number of \starttext and \stoptext). Wolfgang. I do appreciate your emphasis and your input on all of this. I do. I really do. But we can't go over this, over and over again. Do you know who said the above? Not me. You. Do you know whose remarks are those? Not mine. Yours. Replace cont-yes.mkiv with the newer equivalent. And you're right though. \starttext is not even needed most of the times.
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- Real Users never use the Help key.
Carlos schrieb am 20.08.2023 um 17:51:
On Sun, Aug 20, 2023 at 03:38:15PM +0200, Wolfgang Schuster wrote:
Carlos schrieb am 19.08.2023 um 15:32:
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right? Please explain why this example (which is a valid ConTeXt document) works
Opening a group with \starttext makes no sense because there is nothing after \stoptext.
The possibility to nest \starttext is necessary when you \startproduct etc. where components can be be documents on its own and this means \startcomponent includes \starttext in its definition.
%%%% begin example \starttext
\starttext
\stoptext
\stoptext %%%% end example
but this doesn't.
%%%% begin example \starttext
\starttext %%%% end example
Wolfgang Take a look at the command line when you process a file and you should see something like this:
As you can see the luatex engine processes the file cont-yes.mkiv and not your document which put as argument to context. Your document is just read by cont-yes.mkiv and at the end of the document ConTeXt inserts an extra \stoptext which is ignored when your document is valid (equal number of \starttext and \stoptext).
Wolfgang. I do appreciate your emphasis and your input on all of this. I do. I really do. But we can't go over this, over and over again. Do you know who said the above? Not me. You. Do you know whose remarks are those? Not mine. Yours.
Just because ConTeXt fixes your mistake doesn't mean you should abuse it and *no* user should learn from your example. Each ConTeXt document should contain a starttext/stoptext pair or equivalent commands (e.g. startdocument/stopdocument or startproduct/stopproduct).
Replace cont-yes.mkiv with the newer equivalent. And you're right though. \starttext is not even needed most of the times.
And now it gets even worse, see https://meeting.contextgarden.net/2021/talks/2021-09-21/starttext.pdf why \starttext is necessary. Wolfgang
Carlos,
On 8/20/2023 6:41 PM, Wolfgang Schuster wrote:
And now it gets even worse, see https://meeting.contextgarden.net/2021/talks/2021-09-21/starttext.pdf why \starttext is necessar And watch how \startTEXpage is defined. It clearly explains why that works without.
Also watch how \TEX\ comes our without the space between T and E that occurs at yoru end. And finally, appreciate the nice layout / setup of that presentation, which contradicts your (implcit and/or explicit) claims that lmtx is unusable. 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 8/20/2023 5:51 PM, Carlos wrote:
On Sun, Aug 20, 2023 at 03:38:15PM +0200, Wolfgang Schuster wrote:
Carlos schrieb am 19.08.2023 um 15:32:
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right?
Please explain why this example (which is a valid ConTeXt document) works
Opening a group with \starttext makes no sense because there is nothing after \stoptext.
The possibility to nest \starttext is necessary when you \startproduct etc. where components can be be documents on its own and this means \startcomponent includes \starttext in its definition.
%%%% begin example \starttext
\starttext
\stoptext
\stoptext %%%% end example
but this doesn't.
%%%% begin example \starttext
\starttext %%%% end example
Wolfgang
Take a look at the command line when you process a file and you should see something like this:
As you can see the luatex engine processes the file cont-yes.mkiv and not your document which put as argument to context. Your document is just read by cont-yes.mkiv and at the end of the document ConTeXt inserts an extra \stoptext which is ignored when your document is valid (equal number of \starttext and \stoptext).
The bonus \starttext is just there so that we can use \startTEXpage etc without wrapper and a second bonus is that it catches sloppy coding and if a user want to take a shortcut and save a handful of keystrokes it's fine for me but support converges to zero (unless one pays top money for the incovenience). There is only so much you can expect from volunteers.
Wolfgang. I do appreciate your emphasis and your input on all of this. I do. I really do. But we can't go over this, over and over again. Do you know who said the above? Not me. You. Do you know whose remarks are those? Not mine. Yours.
Replace cont-yes.mkiv with the newer equivalent. And you're right though. \starttext is not even needed most of the times. Wolfgang tries to educate you ... starttext is the anchor for checking if a bodyfont has been defined and if not it kicks in some default.
Now with that said: When Wolfgang asks / tells something because there is nothing in context that he doesn't know. And you can bet then he knowa more than you do about the internals, objectives and implementation. So, let me put it a bit stronger: if Wolfgang gives you an answer that you don't like, you should be very careful in your answering because there is very little change that he's wrong. To stress his position here: if he sends me a patch I can merge it in without testing it which (believe me) is a rather unique positin. From this you might conclude that I don't like your tone. And with that out if the way: When Mikael wonders if there might be something with your installation you should indeed sit down and wonder a bit if that could be the case because he is a pretty good tester who had been around for quite a while. So you can be sure that he tested it well and that he has a proper setup. Personally I'd be worried if someone doubts my installation. Did you install from the garden, using the lmtx installer? Because that is the reference. Everything installed otherwise is the users problem. Which brings me to this file read only thing you mention. If your font cache is not writable you migth end up with bad metrics indeed just because there are no font resources but that's not up to context to deal with. Also, \␣ is a fixed space and has no glue so i keep wondering what this brings to the picture, 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 Sun, Aug 20, 2023 at 06:41:42PM +0200, Hans Hagen wrote:
On 8/20/2023 5:51 PM, Carlos wrote:
On Sun, Aug 20, 2023 at 03:38:15PM +0200, Wolfgang Schuster wrote:
Carlos schrieb am 19.08.2023 um 15:32:
On Fri, Aug 18, 2023 at 08:58:58PM +0200, Wolfgang Schuster wrote:
Hi,
1. Learn to two provide a working minimal example which shows the problem.
Did the minimal example I provided earlier wasn't enough for you?
Besides, You know perfectly well that \stoptext is not even necessary, superflous; it's not required to compile any context flavor file for ages now.
So I suggest you to save those keystrokes for other tasks. Not those, petty petty betty. I know it's hard to teach an ol' dog new tricks, but… it's worth to try! right?
Please explain why this example (which is a valid ConTeXt document) works
Opening a group with \starttext makes no sense because there is nothing after \stoptext.
The possibility to nest \starttext is necessary when you \startproduct etc. where components can be be documents on its own and this means \startcomponent includes \starttext in its definition.
%%%% begin example \starttext
\starttext
\stoptext
\stoptext %%%% end example
but this doesn't.
%%%% begin example \starttext
\starttext %%%% end example
Wolfgang
Take a look at the command line when you process a file and you should see something like this:
As you can see the luatex engine processes the file cont-yes.mkiv and not your document which put as argument to context. Your document is just read by cont-yes.mkiv and at the end of the document ConTeXt inserts an extra \stoptext which is ignored when your document is valid (equal number of \starttext and \stoptext).
The bonus \starttext is just there so that we can use \startTEXpage etc without wrapper and a second bonus is that it catches sloppy coding and if a user want to take a shortcut and save a handful of keystrokes it's fine for me but support converges to zero (unless one pays top money for the incovenience). There is only so much you can expect from volunteers.
I remember now I read it somewhere before.
Wolfgang. I do appreciate your emphasis and your input on all of this. I do. I really do. But we can't go over this, over and over again. Do you know who said the above? Not me. You. Do you know whose remarks are those? Not mine. Yours.
Replace cont-yes.mkiv with the newer equivalent. And you're right though. \starttext is not even needed most of the times. Wolfgang tries to educate you ... starttext is the anchor for checking if a bodyfont has been defined and if not it kicks in some default.
Now with that said:
When Wolfgang asks / tells something because there is nothing in context that he doesn't know. And you can bet then he knowa more than you do about the internals, objectives and implementation. So, let me put it a bit stronger: if Wolfgang gives you an answer that you don't like, you should be very careful in your answering because there is very little change that he's wrong. To stress his position here: if he sends me a patch I can merge it in without testing it which (believe me) is a rather unique positin. From this you might conclude that I don't like your tone.
It has nothing to do with liking/disliking a tone. A simple document does not require any \stoptext and I told Wolfgang about it.
And with that out if the way:
When Mikael wonders if there might be something with your installation you should indeed sit down and wonder a bit if that could be the case because he is a pretty good tester who had been around for quite a while. So you can be sure that he tested it well and that he has a proper setup. Personally I'd be worried if someone doubts my installation.
it has nothing to do with the installation. Different installations have nothing to do with what the backend fails to do in the end. It's deceitful. And lying his ass off. At least that message from the log, that is. That's the only thing that one can _deduce_ from it.
Did you install from the garden, using the lmtx installer? Because that is the reference. Everything installed otherwise is the users problem.
Which brings me to this file read only thing you mention. If your font cache is not writable you migth end up with bad metrics indeed just because there are no font resources but that's not up to context to deal with.
Also, \␣ is a fixed space and has no glue so i keep wondering what this brings to the picture,
I know it has no glue. Who said it has glue? So a kerning has glue? We have to out of necessity go back to point A then. The message I was getting from the backend was that this was being taken care of. How one is supposed to interpret it? How? fuck this shit.
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 -----------------------------------------------------------------
___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- All constants are variables.
On 8/21/23 14:22, Carlos wrote:
fuck this shit.
The first reaction would of course be to respond in the same tone. I think it would be wrong. You should be aware that to most of us, your messages sound like they come from a sociopath. Nothing in the subject we're talking about warrants this level of anger and emotion - these are just computer programs; the future of our world does not depend on redefining a typographical space. You may want to seek professional psychological help. Thomas
And with luatex frozen for better or for worse, I better stick to plain tex not sure what frozen has to do with it ... it will be around and
On 8/18/2023 8:48 PM, Carlos wrote: maintained forever but no fundamental new functionality will be added that said: luametatex is of not much use when you use plain (or whatever else) 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 -----------------------------------------------------------------
participants (7)
-
Carlos
-
Hans Hagen
-
Hans Hagen
-
Mikael Sundqvist
-
Thomas A. Schmitz
-
Thomas Floeren
-
Wolfgang Schuster