ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Benjamin Buchmuller <benjamin.buchmuller@gmail.com>
To: ntg-context@ntg.nl
Subject: Re: Hyphentation/Linebreak after x characters
Date: Thu, 23 Apr 2020 23:16:36 +0200	[thread overview]
Message-ID: <1804ED8C-6671-4B83-AFC8-8D45C9895A02@gmail.com> (raw)
In-Reply-To: <mailman.281.1587672163.1194.ntg-context@ntg.nl>

Hi Rik,

Thanks for the fast reply! Your example works indeed nicely. However, within this solution my problem has shifted now (fully) towards breaking after the same number of characters, which seems to work for your sample string, but not for the sequences that I need to place.

What I would like to achieve is something like:

5’-GATTGCTTACTCCTGGTTGG
TGGGGCTTACATTCTGTCGCCTC
AAAACTACTAGAGCCGGCATATT
CTAGAAGGGCCGCCTTCATGTGG
etc.

(There might be hyphens or not, this is not so much important to me.)

But what I get is currently:

5'-GATTGCTTACTCCTG- 
GTTGGTGGGGCTTACATTCT- 
GTCGCCTCAAAACTACTA- 
GAGCCGGCATATTCTA- 
GAAGGGCCGCCTTCATGTGGC- 
etc.

Which looks ragged with \tt. Certainly, this is because ConTeXt applies the default hyphenation pattern. But I guess, there might be no “no language” pattern or is there? Also, I agree, it’s a bit odd that nright/nleft seem to make no difference towards the result.

This is the MWE based on your solution:

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

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

\starttext

\setupxtable[width=5cm]
\startxtable
\mycommandc{C}{GATTGCTTACTCCTGGTTGGTGGGGCTTACATTCTGTCGCCTCAAAACTACTAGAGCCGGCATATTCTAGAAGGGCCGCCTTCATGTGGCCTAGGGCACCATCGCGTACGAGGGCAAAAAATGAGTTTACCGCTGCGAAGTCTCTACGTCACGGCCAACCACAGTCCTGCTCCCAACGAAATTTAGACGCTGTCGTGAAACCTGAATTCGAGGATAAGCCGCGTCATGAAGAGTCTACTG}
\stopxtable

\stoptext

> On 23 Apr 2020, at 22:02, ntg-context-request@ntg.nl wrote:
> 
> Send ntg-context mailing list submissions to
> 	ntg-context@ntg.nl
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://mailman.ntg.nl/mailman/listinfo/ntg-context
> or, via email, send a message with subject or body 'help' to
> 	ntg-context-request@ntg.nl
> 
> You can reach the person managing the list at
> 	ntg-context-owner@ntg.nl
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ntg-context digest..."
> Today's Topics:
> 
>   1. Re: Hyphentation/Linebreak after x characters inside \WORD?
>      (Rik Kabel)
> 
> From: Rik Kabel <ConTeXt@rik.users.panix.com>
> Subject: Re: [NTG-context] Hyphentation/Linebreak after x characters inside \WORD?
> Date: 23 April 2020 at 21:46:59 CEST
> To: ntg-context@ntg.nl, benjamin.buchmuller@gmail.com
> 
> 
> 
> 
> 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:
> 
> <nijiabomaaejpjhk.png>
> 
> 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.
> 
> 
> ___________________________________________________________________________________
> 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://tex.aanhet.net
> archive  : https://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

___________________________________________________________________________________
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:[~2020-04-23 21:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.281.1587672163.1194.ntg-context@ntg.nl>
2020-04-23 21:16 ` Benjamin Buchmuller [this message]
2020-04-23 21:50   ` Wolfgang Schuster
2020-04-23 22:03     ` Benjamin Buchmuller
2020-04-23 22:45     ` Rik Kabel
2020-04-24  8:50       ` Benjamin Buchmuller

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=1804ED8C-6671-4B83-AFC8-8D45C9895A02@gmail.com \
    --to=benjamin.buchmuller@gmail.com \
    --cc=ntg-context@ntg.nl \
    /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).