Switching to righttoleft without changing margins of delimited text
Hi, I have the following example: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \setupdelimitedtext[blockquote] [leftmargin=1.5em,rightmargin=0em,] \starttext \input knuth \startblockquote \input knuth \stopblockquote \startblockquote \righttoleft \input knuth \stopblockquote \input knuth \stoptext %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \righttext seems to change the locations of the margins, i.e. leftmargin becomes rightmargin and vice-versa. That may be nice in some situations, but I need to keep the margins where they are. Is there a way to do this? (Maybe \righttoleft is the wrong command?) I thought I could define a new rtlblockquote with appropriate settings, like so: \definedelimitedtext[rtlblockquote] \setupdelimitedtext[rtlblockquote] [leftmargin=0em,rightmargin=1.5em,before={\righttoleft}] But maybe there's a better way. Any hints? Denis
On 12/13/2021 5:25 PM, Denis Maier via ntg-context wrote:
Hi,
I have the following example:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setupdelimitedtext[blockquote]
[leftmargin=1.5em,rightmargin=0em,]
\starttext
\input knuth
\startblockquote
\input knuth
\stopblockquote
\startblockquote
\righttoleft
\input knuth
\stopblockquote
\input knuth
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\righttext seems to change the locations of the margins, i.e. leftmargin becomes rightmargin and vice-versa. That may be nice in some situations, but I need to keep the margins where they are. Is there a way to do this? (Maybe \righttoleft is the wrong command?) I thought I could define a new rtlblockquote with appropriate settings, like so:
\definedelimitedtext[rtlblockquote]
\setupdelimitedtext[rtlblockquote]
[leftmargin=0em,rightmargin=1.5em,before={\righttoleft}]
But maybe there’s a better way. Any hints? You switch directions when we're still in vertical mode, so you need:
\startblockquote \dontleavehmode\righttoleft\ignorespaces \input knuth \stopblockquote I can add this: \permanent\protected\def\rtltext {\groupedcommand{\dontleavehmode\righttoleft\ignorespaces}\removeunwantedspaces} \permanent\protected\def\ltrtext {\groupedcommand{\dontleavehmode\lefttoright\ignorespaces}\removeunwantedspaces} but only when you wikify it \startblockquote \rtltext{\input{knuth}} \stopblockquote ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Great, thanks, I'll wikify. Is that lmtx-only or will it work in mkiv?
Denis
________________________________________
Von: Hans Hagen
Hi,
I have the following example:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setupdelimitedtext[blockquote]
[leftmargin=1.5em,rightmargin=0em,]
\starttext
\input knuth
\startblockquote
\input knuth
\stopblockquote
\startblockquote
\righttoleft
\input knuth
\stopblockquote
\input knuth
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\righttext seems to change the locations of the margins, i.e. leftmargin becomes rightmargin and vice-versa. That may be nice in some situations, but I need to keep the margins where they are. Is there a way to do this? (Maybe \righttoleft is the wrong command?) I thought I could define a new rtlblockquote with appropriate settings, like so:
\definedelimitedtext[rtlblockquote]
\setupdelimitedtext[rtlblockquote]
[leftmargin=0em,rightmargin=1.5em,before={\righttoleft}]
But maybe there’s a better way. Any hints? You switch directions when we're still in vertical mode, so you need:
\startblockquote \dontleavehmode\righttoleft\ignorespaces \input knuth \stopblockquote I can add this: \permanent\protected\def\rtltext {\groupedcommand{\dontleavehmode\righttoleft\ignorespaces}\removeunwantedspaces} \permanent\protected\def\ltrtext {\groupedcommand{\dontleavehmode\lefttoright\ignorespaces}\removeunwantedspaces} but only when you wikify it \startblockquote \rtltext{\input{knuth}} \stopblockquote ----------------------------------------------------------------- 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 12/13/2021 6:19 PM, denis.maier@unibe.ch wrote:
Great, thanks, I'll wikify. Is that lmtx-only or will it work in mkiv? i'll also add it to mkiv
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 -----------------------------------------------------------------
Hi,
On Mon, 13 Dec 2021 12:06:33 -0700, Hans Hagen via ntg-context
wrote: i'll also add it to mkiv
By about when do you expect mkiv to become frozen a la mkii? It is already sort of frozen in the sense that new features and/or mechanisms will end up in lmtx. But of course when we find serious bugs
On 12/13/2021 8:27 PM, Idris Samawi Hamid ادريس سماوي حامد wrote: they can get solved. If it works for you it likely will keep working (assuming that luatex keeps working as it does). 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 -----------------------------------------------------------------
Hi Hans,
-----Ursprüngliche Nachricht-----
Von: Hans Hagen
Gesendet: Montag, 13. Dezember 2021 17:43
An: mailing list for ConTeXt users
Cc: Maier, Denis Christian (UB)
Betreff: Re: [NTG-context] Switching to righttoleft without changing margins
of delimited text
On 12/13/2021 5:25 PM, Denis Maier via ntg-context wrote:
Hi,
[... ]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\righttext seems to change the locations of the margins, i.e.
leftmargin becomes rightmargin and vice-versa. That may be nice in
some situations, but I need to keep the margins where they are. Is
there a way to do this? (Maybe \righttoleft is the wrong command?) I
thought I could define a new rtlblockquote with appropriate settings, like
so:
\definedelimitedtext[rtlblockquote]
\setupdelimitedtext[rtlblockquote]
[leftmargin=0em,rightmargin=1.5em,before={\righttoleft}]
But maybe there’s a better way. Any hints?
You switch directions when we're still in vertical mode, so you need:
\startblockquote
\dontleavehmode\righttoleft\ignorespaces
\input knuth
\stopblockquote
I'm afraid this doesn't give the desired result. While this fixes the inverted margins issue, this keeps the whole paragraph in LTR-mode. [cid:image002.jpg@01D7F0D9.6EFC58C0] The expected result (created with rtlblockquote) would be this: [cid:image004.jpg@01D7F0D9.6EFC58C0] So, the question remains: is a dedicated startstop-pair to achieve this (what’s the proper name of those anyway? In latex these are environments, but that feels odd in context)? Or are there easier solutions? Denis
On 12/14/2021 10:57 AM, denis.maier@unibe.ch wrote:
Hi Hans,
-----Ursprüngliche Nachricht-----
Von: Hans Hagen
Gesendet: Montag, 13. Dezember 2021 17:43
An: mailing list for ConTeXt users
Cc: Maier, Denis Christian (UB)
Betreff: Re: [NTG-context] Switching to righttoleft without changing margins
of delimited text
On 12/13/2021 5:25 PM, Denis Maier via ntg-context wrote:
Hi,
[... ]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\righttext seems to change the locations of the margins, i.e.
leftmargin becomes rightmargin and vice-versa. That may be nice in
some situations, but I need to keep the margins where they are. Is
there a way to do this? (Maybe \righttoleft is the wrong command?) I
thought I could define a new rtlblockquote with appropriate settings, like
so:
\definedelimitedtext[rtlblockquote]
\setupdelimitedtext[rtlblockquote]
[leftmargin=0em,rightmargin=1.5em,before={\righttoleft}]
But maybe there’s a better way. Any hints?
You switch directions when we're still in vertical mode, so you need:
\startblockquote
\dontleavehmode\righttoleft\ignorespaces
\input knuth
\stopblockquote
I'm afraid this doesn't give the desired result. While this fixes the inverted margins issue, this keeps the whole paragraph in LTR-mode.
The expected result (created with rtlblockquote) would be this:
So, the question remains: is a dedicated startstop-pair to achieve this (what’s the proper name of those anyway? In latex these are environments, but that feels odd in context)? Or are there easier solutions? i'll add support for the align parameter
\usealignparameter\delimitedtextparameter but you need to adapth left/right margins to your taste as in the bidi concept (being part of a line) left and rightskip swap \definedelimitedtext [mine] [align={flushleft,r2l},leftmargin=3cm,rightmargin=0cm] \starttext \input tufte \startmine \input tufte \stopmine \input tufte \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 -----------------------------------------------------------------
Great. So another thing to wikify. I was already wondering why there was no align parameter. Denis
-----Ursprüngliche Nachricht----- Von: Hans Hagen
Gesendet: Dienstag, 14. Dezember 2021 14:09 An: Maier, Denis Christian (UB) ; ntg-context@ntg.nl Betreff: Re: AW: [NTG-context] Switching to righttoleft without changing margins of delimited text On 12/14/2021 10:57 AM, denis.maier@unibe.ch wrote:
Hi Hans,
-----Ursprüngliche Nachricht-----
Von: Hans Hagen
Gesendet: Montag, 13. Dezember 2021 17:43
An: mailing list for ConTeXt users
Cc: Maier, Denis Christian (UB)
Betreff: Re: [NTG-context] Switching to righttoleft without changing margins
of delimited text
On 12/13/2021 5:25 PM, Denis Maier via ntg-context wrote:
Hi,
[... ]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\righttext seems to change the locations of the margins, i.e.
leftmargin becomes rightmargin and vice-versa. That may be nice in
some situations, but I need to keep the margins where they are. Is
there a way to do this? (Maybe \righttoleft is the wrong command?) I
thought I could define a new rtlblockquote with appropriate settings, like
so:
\definedelimitedtext[rtlblockquote]
\setupdelimitedtext[rtlblockquote]
[leftmargin=0em,rightmargin=1.5em,before={\righttoleft}]
But maybe there’s a better way. Any hints?
You switch directions when we're still in vertical mode, so you need:
\startblockquote
\dontleavehmode\righttoleft\ignorespaces
\input knuth
\stopblockquote
I'm afraid this doesn't give the desired result. While this fixes the inverted margins issue, this keeps the whole paragraph in LTR-mode.
The expected result (created with rtlblockquote) would be this:
So, the question remains: is a dedicated startstop-pair to achieve this (what’s the proper name of those anyway? In latex these are environments, but that feels odd in context)? Or are there easier solutions? i'll add support for the align parameter
\usealignparameter\delimitedtextparameter
but you need to adapth left/right margins to your taste as in the bidi concept (being part of a line) left and rightskip swap
\definedelimitedtext [mine] [align={flushleft,r2l},leftmargin=3cm,rightmargin=0cm]
\starttext \input tufte \startmine \input tufte \stopmine \input tufte \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 -----------------------------------------------------------------
participants (3)
-
denis.maier@unibe.ch
-
Hans Hagen
-
Idris Samawi Hamid ادريس سماوي ح امد