\crlf breaks alignment inheritance
Hello there! I've found a problem with the latest ConTeXt, but I guess it's been present for a while. See the following example: %%%% cut here %%%% \starttext \startalignment[middle,nothyphenated,nothanging,stretch] centered \startalignment[hyphenated] this is centered. No problem \stopalignment \startalignment[hyphenated] Why this is not centered?\crlf Becaouse of the \textbackslash crlf \stopalignment \startalignment[hyphenated, middle] this is centered. \crlf No problem \stopalignment centered \stopalignment regular \stoptext %%%% cut here %%%% Best wishes -- Marco
Wolfgang Schuster
Am 26.05.2011 um 10:53 schrieb Marco Pessotto:
Hello there!
I've found a problem with the latest ConTeXt, but I guess it's been present for a while.
Use \par or an empty line.
Wolfgang
The workaround was already present in the minimal example (setting again the middle alignment). I was just reporting a problem. Cheers <#secure method=pgpmime mode=sign> -- Marco
Am 26.05.2011 um 15:25 schrieb Marco Pessotto:
Wolfgang Schuster
writes: Am 26.05.2011 um 10:53 schrieb Marco Pessotto:
Hello there!
I've found a problem with the latest ConTeXt, but I guess it's been present for a while.
Use \par or an empty line.
Wolfgang
The workaround was already present in the minimal example (setting again the middle alignment). I was just reporting a problem.
\par (or a empty line) isn’t a workaround, it’s the correct way to end a paragraph and \crlf is the workaround which doesn’t work in all cases. Wolfgang
Wolfgang Schuster
Am 26.05.2011 um 15:25 schrieb Marco Pessotto:
Wolfgang Schuster
writes: Am 26.05.2011 um 10:53 schrieb Marco Pessotto:
Hello there!
I've found a problem with the latest ConTeXt, but I guess it's been present for a while.
Use \par or an empty line.
Wolfgang
The workaround was already present in the minimal example (setting again the middle alignment). I was just reporting a problem.
\par (or a empty line) isn’t a workaround, it’s the correct way to end a paragraph and \crlf is the workaround which doesn’t work in all cases.
So what's the correct way to force a line break without starting a new paragraph, like \\ in LaTeX? Maybe the paragraph is marked also by more spacing, and that particular linebreak is not meant to be a paragraph ending. Like, e.g., for poems. And I believed the \crlf was the correct way to do it. Please correct me if I'm wrong. In the example I provided, I can't break the line without starting a new paragraph and without messing it, unless I reset the "middle" in the nested alignment. So I believe there's something in the inheritance that breaks. Bests -- Marco
Am 26.05.2011 um 16:02 schrieb Marco Pessotto:
So what's the correct way to force a line break without starting a new paragraph, like \\ in LaTeX? Maybe the paragraph is marked also by more spacing, and that particular linebreak is not meant to be a paragraph ending. Like, e.g., for poems. And I believed the \crlf was the correct way to do it. Please correct me if I'm wrong.
To suppress whitespace between paragraph you can use the packed environment. For poems i suggest to use the lines environment where the end of each line is also the end of a paragraph, you can also change the alignment of the content with the align key of the environment, e.g. \startlines[align=middle] … \stoplines or change the settings global (i.e. \setuplines[align=middle]). Wolfgang
Wolfgang Schuster
Am 26.05.2011 um 16:02 schrieb Marco Pessotto:
So what's the correct way to force a line break without starting a new paragraph, like \\ in LaTeX? Maybe the paragraph is marked also by more spacing, and that particular linebreak is not meant to be a paragraph ending. Like, e.g., for poems. And I believed the \crlf was the correct way to do it. Please correct me if I'm wrong.
To suppress whitespace between paragraph you can use the packed environment.
For poems i suggest to use the lines environment where the end of each line is also the end of a paragraph, you can also change the alignment of the content with the align key of the environment, e.g.
\startlines[align=middle] … \stoplines
or change the settings global (i.e. \setuplines[align=middle]).
Wolfgang
Ok, thanks for your answers. -- Marco
Am 26.05.2011 um 16:02 schrieb Marco Pessotto:
In the example I provided, I can't break the line without starting a new paragraph and without messing it, unless I reset the "middle" in the nested alignment. So I believe there's something in the inheritance that breaks.
The “middle” is necessary because \crlf use a flag insert \hfill at the end of the line where it was put when you have left aligned text. This flag is reset with \setupalign and also \startalignment and the command thinks you have left aligned text unless you add the “middle” keyword and \crlf does now know that it shouldn’t insert \hfill. With a new paragraph this doesn’t happen and you get always the correct output. Wolfgang
Wolfgang Schuster
Am 26.05.2011 um 16:02 schrieb Marco Pessotto:
In the example I provided, I can't break the line without starting a new paragraph and without messing it, unless I reset the "middle" in the nested alignment. So I believe there's something in the inheritance that breaks.
The “middle” is necessary because \crlf use a flag insert \hfill at the end of the line where it was put when you have left aligned text.
This flag is reset with \setupalign and also \startalignment and the command thinks you have left aligned text unless you add the “middle” keyword and \crlf does now know that it shouldn’t insert \hfill.
With a new paragraph this doesn’t happen and you get always the correct output.
Wolfgang
Thanks again :-) -- Marco
participants (2)
-
Marco Pessotto
-
Wolfgang Schuster