ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: "kauśika cittūr via ntg-context" <ntg-context@ntg.nl>
To: ntg-context@ntg.nl
Cc: "kauśika cittūr" <citturs@gmail.com>
Subject: Re: [Solved] Line breaks, \wordright and hyphenation
Date: Tue, 26 Oct 2021 21:43:17 +0530	[thread overview]
Message-ID: <5759389.lOV4Wx5bFT@sreeramtplt> (raw)
In-Reply-To: <5507079.DvuYhMxLoT@sreeramtplt>

On Monday, October 25, 2021 7:34:06 AM IST kauśika cittūr wrote:
> On Sunday, October 24, 2021 7:42:59 AM IST kauśika cittūr wrote:
> > Dear list,
> > 
> > In short, my question is: why does \wordright cause a line-break when the
> > line preceding it breaks with hyphenation and does not otherwise? How to
> > avoid it (if at all possible)?
> > 
> > I have this delimitedtext instance called 'amnata' defined as below:
> > 
> > \definemeasure[amnatamargin][3cm]
> > \definedelimitedtext
> > 
> >   [amnata]
> > 
> > \setupdelimitedtext
> > 
> >   [amnata]
> >   [
> > 	
> > 	left=,
> > 	right=,
> > 	leftmargin={\measure{amnatamargin}},
> > 	rightmargin={\measure{amnatamargin}},
> > 	
> >   ]
> > 
> > I am using this to quote paragraph(s) of other authors.
> > Since, I also want to indicate where the quote is from, I use this as
> > follows:
> > 
> > \startamnata
> > 
> >   ⋮
> > 
> > \wordright{author}
> > \stopamnata
> > 
> > so that the author's name appears at the right-edge of the block.
> > 
> > When the penultimate line inside the block breaks without hyphenation,
> > then
> > argument of \wordright is typeset as expected (i.e. in the same line).
> > 
> > On the other hand, when the penultimate line inside this block breaks with
> > hyphenation, the argument of \wordright is pushed to the next line even
> > when there is enough space for it on the same line.
> > 
> > Here is a sample illustrating this:
> > 
> > \startamnata
> > A quote from another author : Suppose that thereisalongwordhere.
> > \wordright{– author}
> > \stopamnata
> > 
> > \startamnata
> > A quote from another author : Here, the text does not cause
> > hyphenation in the first line.
> > \wordright{– author}
> > \stopamnata
> > 
> > [I have attached the output here as an image]
> > 
> > How do I ensure that this does not happen, if that is possible at all? I
> > suppose this is expected behaviour but I am not able to understand why.
> > 
> > Thanks,
> > kauśika
> 
> Dear list,
> 
> Although, not a fix for the issue, here is a workaround that allowed me to
> achieve what I wanted:
> 
> \definedescription[amnata]
> \setupdescription[amnata]
>   [closesymbol={​},
>    closecommand=\wordright,
>    before=\startamnatanarrower,
>    after=\stopamnatanarrower]
> 
> \startamnata
> A quote from another author : Suppose that thereisalongwordhere.
> \wordright{– author}
> \stopamnata
> 
> With this the argument of \wordright appears correctly at the right-edge of
> the block. Note that this does not work (as expected) when closesymbol is
> not set (or, is empty). Therefore, here I have set closesymbol={​​U+200B},
> which is the zero width space.
> 
> Thanks,
> kauśika

Dear list,

As it turns out, my workaround here is subpar since it inserts an undesired 
line after the description block.

Hans was very kind to send me a fix to place in cont-new.mkxl that fixes the 
issue. However, due to my errors in properly pasting the fix correctly, it did 
not work. I updated LMTX today and the fix is already merged.

I am pasting below Hans' fix for reference (for anyone who might come across 
this later) –

\protect
\protected\def\spac_word_right_indeed#1#2%
  {\registerparwrapper
     {\v!word:\v!right}
     {\begingroup
      \frozen\parfillskip        \zeropoint
      \frozen\finalhyphendemerits\zerocount
      \endgroup}
     {\doifelseparwrapper{\v!word:\v!right}{\unregisterparwrapper{\v!word:\v!
right}}\donothing
      \removeunwantedspaces
      \doifelse{#1}\v!right{\kern-\rightskip}{\doifsomething{#1}{\kern-#1}}%
      \hfilll
      \discretionary{\strut}{\strut}{\strut}% \allowbreak % changed back from 
\hskip\zeropoint
      \hfilll
      \quad % decent spacing
      #2}}
\unprotect

kauśika


___________________________________________________________________________________
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
___________________________________________________________________________________

      reply	other threads:[~2021-10-26 16:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-24  2:12 kauśika cittūr via ntg-context
2021-10-24  7:24 ` kauśika cittūr via ntg-context
2021-10-25  2:04 ` kauśika cittūr via ntg-context
2021-10-26 16:13   ` kauśika cittūr via ntg-context [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5759389.lOV4Wx5bFT@sreeramtplt \
    --to=ntg-context@ntg.nl \
    --cc=citturs@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).