[XeTeX] avoiding line break after dash

John Was john.was at ntlworld.com
Mon Dec 8 09:28:21 CET 2014


Hello

Will this XeTeX 'primitive' not do what you want?

\XeTeXdashbreakstate 0%disallows linebreaks after dashes

If you want the rule to be applied only to parts of the document, give 
\begingroup before the first paragraph to which it applies, and \endgroup 
after the last paragraph to which it applies.

Best


John



-----Original Message----- 
From: Mike Maxwell
Sent: Sunday, December 07, 2014 11:34 PM
To: Unicode-based TeX for Mac OS X and other platforms
Subject: [XeTeX] avoiding line break after dash

I have a document that has word-initial dashes (they indicate that the 
"word" is
a suffix).  When the paragraph they're in is just right, xelatex insists on
inserting an unwanted line break immediately after the dash.  I've tried 
lots of
things to prevent this: setting the lccode for dash to zero, replacing the 
ASCII
dash with an en-dash (U+2013), using or not using a {} immediately after the
dash, putting an \mbox around the dash and word (works, but difficult to use 
in
the particular context I'm working in), and several other things that I 
can't
remember right now.

Another thing I've tried is to set the \exhyphenpenalty to 10000.  This 
works if
I do it in the preamble, but I don't really want it to have scope over the
entire document.  But if I put that command inside a {...} together with the
dash+word, it has no effect.

Using a Unicode non-breaking hyphen (U+2011) appears to prevent the line 
break
when I try this with a different font.  Unfortunately, the font I need to 
use
doesn't have a glyph for this code point, so I get a box in the PDF.  (Is 
there
a way to use the ASCII dash glyph for this code point, while preserving the
non-breaking status of the U+2011 code point?  Short of hacking the font.)

My MWE is after my sig line; the unwanted line break appears between the 
dash
and the "abcd".  This behavior seems to be exquisitely sensitive to things
around it, including the remainder of the paragraph, and the presence of 
other
dashes within the paragraph; hence the text may seem longer than it needs to 
be,
but I couldn't get the same bad result if I shortened it much.

Suggestions?
-- 
Mike Maxwell
maxwell at umiacs.umd.edu
"My definition of an interesting universe is
one that has the capacity to study itself."
         --Stephen Eastmond

-----------MWE---------------
\documentclass[11pt,letterpaper]{report}
\usepackage{fontspec}
\setmainfont{Charis SIL}
\usepackage{hyphenat}
%\lccode`\-=0
%\exhyphenpenalty=10000
\begin{document}

sentence-{}final particle
filler filler filler filler filler filler filler filler fil
-abcd
\textbf{-{}eve}. It may also be written as foo-{}fa in
informal writing, as that is how it is pronounced.
blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa 
blaa
blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa 
blaa
blaa blaa blaa blaa blaa blaa blaa blaa blaa blaa.
\end{document}


--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
  http://tug.org/mailman/listinfo/xetex 



More information about the XeTeX mailing list