[NTG-context] Hyphentation/Linebreak after x characters inside \WORD?

Rik Kabel ConTeXt at rik.users.panix.com
Thu Apr 23 21:46:59 CEST 2020


On 4/23/2020 15:01, Benjamin Buchmuller wrote:
> Sorry, I have just realized that the problem might not be \WORD{} actually, so this one hyphenates:
>
> \define[2]\mycommand{
> 	\startxrow
> 	\startxcell o#1 \stopxcell
> 	\startxcell \tt\WORD #2 \stopxcell
> 	\stopxrow
> 	}
>
> Whereas these ones don’t:
>
>
> \define[2]\mycommand{
> 	\startxrow
> 	\startxcell o#1 \stopxcell
> 	\startxcell \tt\WORD #2-3' \stopxcell
> 	\stopxrow
> 	}
>
> \define[2]\mycommand{
> 	\startxrow
> 	\startxcell o#1 \stopxcell
> 	\startxcell 5'-\tt\WORD #2 \stopxcell
> 	\stopxrow
> 	}
>
> Assuming that this has to do with the presence of “-“ which will be the preferred breakpoint. So, I guess the questions boils down to how to define the second argument of
>
> \definebreakpoint[mybreaks][][nright=12,nleft=12,type=1]
>
> in this case or how to “deactivate” the default \setbreakpoints[compound]?
>
>
>> On 23 Apr 2020, at 20:46, Benjamin Buchmuller <benjamin.buchmuller at gmail.com> wrote:
>>
>> Hi again,
>>
>> I am reading a CSV file into ConTeXt which contains long DNA sequences (>> 40 characters) to place in xtables. So far, this works fine. However, I need to uppercase the entries and need to \tt them. When I do this inside \WORD however, they don’t hyphenate any more.
>>
>> I’m using:
>>
>> \defineseparatedlist
>> 	[mylist]
>> 	[
>> 	separator={,}, quotechar={"},
>> 	command=\mycommand
>> 	]
>>
>> \define[2]\mycommand{
>> 	\startxrow
>> 	\startxcell o#1 \stopxcell
>> 	\startxcell 5’-{\tt\WORD{#2}}-3' \stopxcell
>> 	\stopxrow
>> 	}
>>
>> Since I don’t have access to each entry, I cant place hyphenation marks directly. Is there a way to tell ConTeXt to hyphenate after say, 12 characters?
>>
>> Thanks for your help.
>>
>>
>> Benjamin

The following works for me:

    \define[2]\mycommanda{
         \startxrow
         \startxcell o#1 \stopxcell
         \startxcell \tt\WORD #2 \stopxcell
         \stopxrow
         }

    \define[2]\mycommandb{
         \startxrow
         \startxcell o#1 \stopxcell
         \startxcell \tt\WORD #2-3' \stopxcell
         \stopxrow
         }

    \define[2]\mycommandc{
         \startxrow
         \startxcell o#1 \stopxcell
         \startxcell 5'-\tt\WORD #2 \stopxcell
         \stopxrow
         }

    \definebreakpoint[mybreaks][][nright=12,nleft=12,type=1]
    \setbreakpoints[mybreaks]

    \starttext

    \setupxtable[width=5cm]
    \startxtablex
    \mycommanda{A}{lsfkgjfkgshgkhigewhgajkdkfkalhfdklahfkhaakfakfh}
    \mycommandb{B}{lsfkgjfkgshgkhigewhgajkdkfkalhfdklahfkhaakfakfh}
    \mycommandc{C}{lsfkgjfkgshgkhigewhgajkdkfkalhfdklahfkhaakfakfh}
    \stopxtable

    \stoptext

Producing:

Indeed, it produces the same when nleft and nright are both set to 1 or 
12 or 100, but not when setbreakpoints is removed.

If you are trying to do something else, please provide an MWE.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20200423/0a660013/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nijiabomaaejpjhk.png
Type: image/png
Size: 36876 bytes
Desc: not available
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20200423/0a660013/attachment-0001.png>


More information about the ntg-context mailing list