summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/nolbreaks/nolbreaks.tex
blob: 8eb7084f3dbc6618cf4ec077989fc8c0ee6906ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
\documentclass[pagesize=auto, fontsize=14pt, parskip=half]{scrartcl}

\usepackage{fixltx2e}
\usepackage{etex}
\usepackage{xspace}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{microtype}
\usepackage{hyperref}

\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\cs}[1]{\texttt{\textbackslash#1}}
\makeatletter
\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}}
\makeatother
\newcommand*{\opt}[1]{\texttt{#1}}
\newcommand*{\meta}[1]{\textlangle\textsl{#1}\textrangle}
\newcommand*{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}}

\addtokomafont{title}{\rmfamily}

\title{The \pkg{nolbreaks} package\thanks{This manual corresponds to 
 \pkg{nolbreaks}~v1.2, dated~2012/05/31.}}
\author{Donald Arseneau}
\date{2012/05/31}


\begin{document}

\maketitle

Use \cmd{\nolbreaks}\marg{some text} to prevent line-breaks in 
\meta{some text}. This has the advantage over \verb+\mbox{ }+ that 
glue (rubber space) remains flexible, and can adjust to fit the margins.  
It has the disadvantage of not working in all cases!  Most common 
situations are handled (in particular, \cmd{\newline}, \cmd{\linebreak}, 
and \cmd{\\} are disabled) but spaces hidden in macros or \verb+{ }+
(braces) can still create break-points. 

Large pieces of text with no breaks can cause problems with
paragraph justification.   Using the alternate \cmd{\nolbreaks}\verb'*'
allows a line before the unbreakable text to be cut short
(like ragged-right). Giving the package option \opt{[ragged]}
converts all \cmd{\nolbreaks} commands to \cmd{\nolbreaks*}.

You should declare \cmd{\sloppy} or set a raised \cmd{\tolerance} in 
your document when you have large non-breaking chunks.

The command name \cmd{\nolbreaks} is long to type, so you should 
probably declare a shorter alias name if you use it a lot, like
   \  \verb'\newcommand\n{\nolbreaks}'.

\end{document}