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@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.