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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Class novel - 7 - Text Sizes and Styling</title>
<link rel="stylesheet" type="text/css" href="html-resources/novel-doc.css">
</head>
<body>
<div id="master">
<div id="toc">
<p>Document class "novel"</p>
<p><a href="#a7">7. Text Sizes, Styling, and Position</a></p>
<ul>
<li><a href="#a7.1">7.1 Text Sizes</a>
<ul>
<li><a href="#a7.1.1">7.1.1 Standard Sizes: Disabled!</a></li>
<li><a href="#a7.1.2">7.1.2 \charscale[]{}</a></li>
<li><a href="#a7.1.3">7.1.3 Environment: parascale</a></li>
<li><a href="#a7.1.4">7.1.4 Open Type Scale</a></li>
</ul>
</li><!-- end 7.1 -->
<li><a href="#a7.2">7.2 General Styling</a>
<ul>
<li><a href="#a7.2.1">7.2.1 Italics and Emphasis</a></li>
<li><a href="#a7.2.2">7.2.2 Bold and Semibold</a></li>
<li><a href="#a7.2.3">7.2.3 Underlining</a></li>
<li><a href="#a7.2.4">7.2.4 Small Caps, Acronyms</a></li>
<li><a href="#a7.2.5">7.2.5 Tighter Tracking</a></li>
<li><a href="#a7.2.6">7.2.6 Local Font Selection</a></li>
<li><a href="#a7.2.7">7.2.7 Changing Font Features</a></li>
<li><a href="#a7.2.8">7.2.8 Text Color (grayscale)</a></li>
</ul>
</li><!-- end 7.2 -->
<li><a href="#a7.3">7.3 Positioning and Alignment</a>
<ul>
<li><a href="#a7.3.1">7.3.1 What not to use!</a></li>
<li><a href="#a7.3.2">7.3.2 Some Useful Commands</a></li>
</ul>
</li><!-- end 7.3 -->
</ul>
<p> </p>
</div><!-- end toc -->
<div id="main">
<a id="thetop"></a>
<h1>Documentation for <code>novel</code> document class</h1>
<p>Documentation version: 1.36.</p>
<div class="pagetopage">
<p><b>User Guide</b></p>
<p><a href="noveldocs-01-overview.html">1. Overview</a></p>
<p><a href="noveldocs-02-class-options.html">2. Class Options</a></p>
<p><a href="noveldocs-03-metadata-pdfx.html">3. Metadata, PDF/X</a></p>
<p><a href="noveldocs-04-layout.html">4. Page Layout</a></p>
<p><a href="noveldocs-05-fonts.html">5. Choosing Fonts</a></p>
<p><a href="noveldocs-06-header-footer.html">6. Headers, Footers</a><br>
<p>7. Text Sizes, Styles</p>
<p><a href="noveldocs-08-images.html">8. Using Images</a></p>
<p><a href="noveldocs-09-chapters-displays.html">9. Display, Start Pages;<br>
<span style="visibility:hidden">9. </span>Chapters; Continued Pages;<br>
<span style="visibility:hidden">9. </span>Footnotes, Endnotes.</a></p>
<p><a href="noveldocs-10-cover-art.html">10. Cover Artwork</a></p>
<p><a href="noveldocs-11-debugging.html">11. Debugging</a></p>
</div>
<a id="a7"></a>
<h2 style="clear:none;">7. Text Sizes and Styling</h2>
<p>This page describes how to change the size of text, how to style text (such as italics), and how to move it around. It also describes some miscellaneous commands that are intended to modify text.</p>
<p>If you are looking for information about how to choose the main text point size, see <a href="noveldocs-04-layout.html#a4.2.3">Page 4</a>, because it is considered to be among the layout settings. If you are looking for information about how to choose fonts and font features, see <a href="noveldocs-05-fonts.html">Page 5</a>.</p>
<p>There is no direct setting for normal baselineskip; it is automatically calculated from the size of the textblock and lines per page.</p>
<a id="a7.1"></a>
<h3>7.1 Text Sizes</h3>
<p>Be sure to read through this. In <code>novel</code>, standard TeX font size commands are disabled. There are new commands that address the limited needs for font sizing, in the context of fiction. These new commands are primarily for local adjustments of a few characters, or for display pages that are outside the main flow of text.</p>
<a id="a7.1.1"></a>
<h4>7.1.1 Surprise! Traditional TeX Font Size Commands Are Disabled.</h4>
<p>Ah, the simplicity of TeX font size commands, such as <code>\small</code> and <code>\LARGE</code>. But in <code>novel</code>, they don't work. If you write <code>{\LARGE text}</code>, then the incuded text appear at normal size. This is by design.</p>
<p>Why? In <code>novel</code>, the focus is on maintaining a constant baselineskip, so that facing pages have text aligned. This is impossible with the standard TeX commands. In particular, commands to increase font size will change the baselineskip, whether you like it or not, even if you try to code for a constant baselineskip. That's just the way TeX works.</p>
<p>The one exception is that footnotes will appear with smaller than normal size and skip. But this is done automatically. You cannot manipulate it with a size command.</p>
<p>Fortunately, there are not a lot of occasions where fiction needs to change font size. In <code>novel</code>, there are new commands to address each situation.</p>
<a id="a7.1.2"></a>
<h4>7.1.2 \charscale[<em>scale,hoffset,voffset</em>]{<em>text</em>}, \charscale*[<em>scale,hoffset,voffset</em>]{<em>text</em>}</h4>
<p>The <code>\charscale</code> command may be used for a short amount of text, where there is no line break. The command will throw an error if the included text has <code>\\</code> or <code>\par</code> or any other command that breaks the line. You may not place an image in <code>\charscale</code>.</p>
<p>This command is built into some other <code>novel</code> commands, such as <code>\ChapterTitle</code>.</p>
<p>When used without the option, <code>\charscale</code> echoes the included text. However, the text gains the magical ability to extend above or below the normal line of text, without pushing apart the baselines. This is useful if the text has some unusual character that is extraordinarily tall or deep.</p>
<p>Using the option, you may uniformly scale the text by any amount, and displace it horizontally and vertically. The text can overlie other text, or any previously-placed image.</p>
<p>With the unstarred command, the scaled width of the text will occupy horizontal space, even if the text is displaced far away. But with the starred command, the text does not occupy any horizontal space.</p>
<p>The single optional argument may include up to three comma-separated values. The first value is a number, indicating the scale. If a second argument is used, it is the length of horizontal offset (positive is right). If a third number is used, it is the length of the vertical offset (positive is up). Remember that if all you want to do is scale the text, without positioning it, then you only need to provide the scale.</p>
<p>Here is an example illustrating the command in all its glory:</p>
<p class="code"><img class="floatright" src="html-resources/badaboom.png" width="146" height="102" alt="badaboom"><code>
Bada \charscale*[1.25,5em,1.3\nbs]{Boom} Bam\par<br>
Bada Bam\par<br>
Bada\charscale[1.25,5em,1.3\nbs]{Bang} Bam\par<br>
Bada \charscale[1.25]{Bang} Bam\par
</code></p>
<p>In the result (above right), notice how the starred command leaves no gap where the word Boom would have been. The unstarred command leaves a gap where the word Bang would have been located. In each case, the baseline grid is maintained.</p>
<p>The most practical application of <code>\charscale</code> is styling the first character of chapter text. Drop capitals are out of fashion, but enlarged capitals (rising above the baseline) are in fashion. Example, also using the <code>\FirstLine</code> command (from package <code>magaz</code>, included with <code>novel</code>:</p>
<p class="code"><code>\FirstLine{\noindent\charscale[1.5]{I}t was a dark and stormy night. Lord Withens mounted his horse and rode through the gloom to Castle McDingle, where Baron von Feathering awaited. The pair had dirty deeds to do, but being members of the nobility, they commanded a high price.}</code></p>
<p class="centerimg"><img src="html-resources/mcdingle.png" width="559" height="121" alt="larger first letter"></p>
<p>In the above example, the initial I is 1.5x its normal size. It appears larger than that, by comparison to the adjacent small caps letters.</p>
<a id="a7.1.3"></a>
<h4>7.1.3 <code>\begin{parascale}[<em>scale</em>] ... \end{parascale}</code></h4>
<p>The <code>parascale</code> environment is used on a paragraph basis. More than one paragraph may be included. The scale is applied to the font size and to the baselineskip within.</p>
<p>Since the text within <code>parascale</code> generally will not occupy an integral number of normal baselineskips, the following text will be off-grid. This may not be a problem, if <code>parascale</code> is used in places where maintaining the grid does not matter (such as on a title page or copyright page).</p>
<p>• If <code>parascale</code> is used within body text, then it will be necessary to restore the line grid for the following text. This cannot be done automatically; you will have to make a preliminary run, look at the results, and adjust accordingly.</p>
<p>For example, suppose you use <code>\begin{parascale}[0.92]...text...\end{parascale}</code>. The preliminary run shows that the included text occupies 7 lines. The following baseline will then be 7x(1–0.92)=0.56 normal baselineskip too high. This can be fixed by adding <code>\vspace{0.56\nbs}</code>. For best appearance, the <code>\vspace</code> should be split above and below the <code>parascale</code> environment, but not nessarily in half.</p>
<p>• If <code>parascale</code> crosses to the next page, then you will need to make vertical adjustment for each page independently. For example, if a 7-line <code>parascale</code> has 3 lines at the bottom of a page, followed by 4 lines on the following page, then you need to restore only a 4 line deficit on the following page.</p>
<p>• Within <code>parascale</code> you may need to manually indent paragraphs, or remove indents if necessary.</p>
<a id="a7.1.4"></a>
<h4>7.1.4 Open Type Scale (fontspec)</h4>
<p>If you will be using a font in a way that it will <em>always</em> be at a size different from the normal font size, you may use the <code>Scale</code> feature when you first define the font. This is defined by the <code>fontspec</code> package, which is automatically loaded with <code>novel</code>. See <a href="noveldocs-05-fonts.html#a5.2.4">Page 5</a> for details.</p>
<p>A scaled font can be used anywhere. It is not limited to a single line, and it will maintain the line grid at scales not exceeding 1. However, scaled text may disturb the line grid if its scale is more than 1.</p>
<a id="a7.2"></a>
<h3>7.2 General Styling</h3>
<p>Many of these commands are directly from LaTeX, and are mentioned here because they are frequently used. Other commands are specific to <code>novel</code>.</p>
<a id="a7.2.1"></a>
<h4>7.2.1 Italics and Emphasis</h4>
<p><code><b>\textit{<em>text</em>}</b></code> puts the text in italics, provided that the font family has an Italic font. If it does not have an Italic font, then the letters will remain normal, <em>not</em> fake slanted.</p>
<p>If the italicized text leans too far into the following space, try adding <code>\/</code> (back and forward slashes) just before closing the braces.</p>
<p><code><b>\emph{<em>text</em>}</b></code> changes regular text to italics, and italic text to regular. You may nest <code>\emph</code> commands. Many writers opine that this is the preferred way to specify Italics.</p>
<a id="a7.2.2"></a>
<h4>7.2.2 Bold, Semibold, etc.</h4>
<p><code><b>\textbf{<em>text</em>}</b></code> puts the text in whatever font you specified as the Bold font, when you defined the currently-used font family.</p>
<p>If the font family has no Bold font, then it will <em>not</em> be faked.</p>
<p>The default main font used by <code>novel</code>, namely <code>Libertinus Serif</code>, has both Bold and Semibold weights. Given this choice, <code>novel</code> explicitly calls for the Semibold weight. If you intend to use a font such as Adobe Garamond Pro, which also has a Semibold weight, then you can request it instead of Bold when you define the font family. This is discussed on <a href="noveldocs-05-fonts.html#a5.2.2">Page 5.</a></p>
<p>What if you want both Bold and Semibold, or maybe even a Light weight? Only one can be assigned to <code>\textbf</code> when you define the font. For the others, use <code>\NewFontFace</code> to assign the desired weight to its own font command, which you will use (but inside the braces) instead of <code>\textbf</code>.</p>
<p>Actually, you should not be using Bold in fiction. It <em>might</em> be the case that this weight is useful for titles, but you ought to consider a fancy-looking font for that purpose, rather than mere Bold. Or, make the letters big and bold, but balance the effect by using gray.</p>
<a id="a7.2.3"></a>
<h4>7.2.3 Underlining</h4>
<p>Underlining is inappropriate for fiction. Don't do it. Besides, there are some issues regarding line grid and appearance, which are not a problem in academic works, but are noticeable in fiction.</p>
<a id="a7.2.4"></a>
<h4>7.2.4 Small Caps and Acronyms</h4>
<p><code><b>\textsc{<em>text</em>}</b></code> converts lowercase letters to small caps, leaving uppercase unchanged. The font's <code>smcp</code> Open Type feature will be used. But if the font does not have <code>smcp</code>, it will <em>not</em> be faked.</p>
<p><code><b>\smcp{<em>text</em>}</b></code> is an alias for <code>\textsc{<em>text</em>}</code>.</p>
<p><code><b>\allsmcp{<em>text</em>}</b></code> places both uppercase and lowercase letters in small caps. If the font has the <code>c2sc</code> feature, it will be used; if not, the letters will be converted to lowercase first. Then, <code>smcp</code> is applied.</p>
<p>• If you require small caps, but your font does not have them, you can fake them by scaling uppercase. But this is usually unattractive. A better method is described in the <code>fontspec</code> package documentation: You may appoint a different font that will provide small caps.</p>
<p>• If you insist on using old-fashioned TeX fonts, which do not have the <code>smcp</code> Open Type feature, then you may need to write this code in the Preamble:</p>
<p class="code"><code>\let\smcp\oldscshape\relax<br>
\let\textsc\oldscshape\relax<br>
\let\scshape\oldscshape\relax</code></p>
<p>The above code sends you in a time machine back to the Twentieth Century.</p>
<p><code><b>\acronym{<em>text</em>}</b></code> is special to <code>novel</code>. If the NovelDeco font is installed, uppercase letters in the text will be converted to "mid-size capitals," and lowercase will remain lowercase, but with ascenders slightly reduced. The purpose of this command is so that acronyms such as NASA and NATO blend well with surrounding text. I have found that whereas ordinary uppercase is too conspicuous, small caps also looks wrong. Example:</p>
<p class="code"><img class="floatright" src="html-resources/acronym2.png" width="192" height="89" alt="acronym">
<code>
The NATO alliance...\par<br>
The \acronym{NATO} alliance...\par<br>
The \allsmcp{NATO} alliance...\par
</code></p>
<p>Whether or not to use the <code>\acronym</code> command, is up to you. Since its letters are drawn from the NovelDeco font, rather than your main font, there may be some stylistic differences.</p>
<a id="a7.2.5"></a>
<h4>7.2.5 Local Tracking Adjustment</h4>
<p><code><b>\squeeze{<em>text</em>}</b></code> narrows the text by one percent.</p>
<p><code><b>\crush{<em>text</em>}</b></code> narrows the text by two percent.</p>
<p>These commands are for emergency use only. They temporarily apply a horizontal scale to the letters, so that they are very slightly narrower than usual. Inter-word spacing is not necessarily changed (it can even grow larger), because spacing is calculated during paragraph layout. The enclosed text may span paragraphs.</p>
<p>The commands do not compound. That is, placing one crush inside another will not narrow the text by four percent. But any adjustments made by <code>microtype</code> will still apply, and may compound with these commands.</p>
<p>The only application for these commands is when a paragraph does not quite fit where you would like it to be. For example: Perhaps one short word, or part of a word, dangles to an extra line. Try <code>\squeeze</code> first, then <code>\crush</code>, for all or most of the paragraph. These do not always produce a useful effect, since the actual paragraph layout depends on other factors. But <em>if you are lucky,</em> then the paragraph re-flows to a better layout.</p>
<p>If the commands do not help, then be sure to remove them, or the effect will be worse.</p>
<a id="a7.2.6"></a>
<h4>7.2.6 Local Font Selection</h4>
<p><code><b>{\<em>fontcode</em> <em>text</em>}</b></code> where <code>fontcode</code> is a previously-defined font command.</p>
<p>You locally change the font in use, by calling its font command. For example, <code>\subchfont</code> is a built-in command, automatically used in certain macros. You can use it yourself:</p>
<p class="code"><code>{\subchfont <em>text</em>} % Note that the braces go on the outside.</code></p>
<p>Likewise, if you used <code>\NewFontFamily</code> or <code>\NewFontFace</code> to define your own font, giving it the command name <code>\mynewfont</code>, then you would use it like this:</p>
<p class="code"><code>{\mynewfont <em>text</em>} % Again, the braces go on the outside.</code></p>
<a id="a7.2.7"></a>
<h4>7.2.7 Local Feature Changes</h4>
<p><code><b>{\addfontfeature{<em>feature</em>} <em>text</em>}</b></code> for changing Open Type features.</p>
<p>If a font is already defined, you can locally add one or more features. For example, suppose that you defined <code>\mynewfont</code> without using its Open Type feature <code>ss03</code> (we will assume that the font actually has this feature). In a particular place, you wish to activate <code>ss03</code>. The code looks like this:</p>
<p class="code"><code>{\mynewfont\addfontfeature{RawFeature=+ss03} <em>text</em>}</code> % Note + sign. Braces outside.</p>
<p>That limits the scope of the feature to the included group, in TeX terminology.</p>
<p>You can modify features used by any defined font, whether you defined it yourself or it is one of the <code>novel</code> built-in font commands. You can add more than one feature. If the requested feature does not exist in the font, then your request will be ignored.</p>
<p>What about removing a feature that is already present in the font definition? Suppose you defined <code>\mynewfont</code> so that <code>Numbers=OldStyle</code> is used. On a local basis, can you change the style of numbers? Usually, yes. You could use <code>Numbers=Lining</code> to over-ride the feature. Sometimes it depends on how you chose the features, as a matter of syntax. See the <code>fontspec</code> documentation.</p>
<a id="a7.2.8"></a>
<h4>7.2.8 Color Text (actually, grayscale)</h4>
<p><code><b>graytext</b></code> class option must be used, or any color command will be ignored, and its included text will be rendered in black (even if the requested color is white). Images are unaffected.</p>
<p><code><b>\color{<em>name</em>}</b></code> or <code><b>\color[gray]{<em>scale</em>}</b></code> is used within a group. All text will be in grayscale, from where the command is placed, until the group ends. If the command is not at the beginning of the group, it does not affect prior text. Example:</p>
<p class="code"><code>
\begingroup<br>
This text is unaffected by the following command.<br>
\color{lightgray} % Alternative: \color[gray]{number 0 to 1}<br>
This text is in lightgray, until the group ends.<br>
\endgroup
</code></p>
<p style="margin-top:10px"><code><b>\textcolor{<em>text</em>}</b></code> or <code><b>\textcolor[gray]{<em>scale</em>}{<em>text</em>}</b></code> affects only the included text.</p>
<p class="code"><code>\textcolor{gray7}{This text is in color gray7, a medium-light gray.}<br>
\textcolor[gray]{0.32}{This text is in 32 percent gray.}</code></p>
<p style="margin-top:10px">Whether you use <code>\color</code> or <code>\textcolor</code>, there are two ways to specify the color: by name, or by scale, using package <code>xcolor</code> syntax.</p>
<p>• The following color names are accepted, and will be converted to some shade of gray (from dark to light): black, blue, violet, darkgray, purple, red, teal, olive, magenta, gray, brown, green, orange, cyan, lightgray, lime, pink, yellow, white.</p>
<p>The above names are often not helpful, so <code>novel</code> also allows you to use these: black, gray1, gray2, gray3, gray4, gray5, gray6, gray7, gray8, gray9, white. The scale is not uniform (gray5 is not 50 percent gray), but the values are usefully spaced.</p>
<p>Other names "known to dvips," such as <code>Apricot</code>, do not work. An error will result.</p>
<p>• To specify color by scale, follow the color command with <code>[gray]{<em>scale</em>}</code>, where the scale is a number between 0 (black) and 1 (white). Example: <code> \color[gray]{0.63}</code>.</p>
<p>• If you use <code>xcolor</code> syntax to request an rgb color, it will be converted to 1-channel grayscale.</p>
<p>• Absolutely no transparency!</p>
<a id="a7.3"></a>
<h3>7.3 Positioning and Alignment</h3>
<p>By now, you should be prepared to read this: In <code>novel</code> there are new ways to position or align text, and some of the standard TeX methods are discouraged or disabled.</p>
<a id="a7.3.1"></a>
<h4>7.3.1 What to Avoid</h4>
<p>• The <code>\raisebox</code> command does not play well with novel. It can be used, but there is the great risk of disturbing the line grid. Use <code>\charscale</code> instead.</p>
<p>• If you must use the <code>\vspace{}</code> command (or its relative, <code>\vskip</code>) be sure to measure the space in units of <code>\nbs</code> (normal baseline skip).</p>
<p>• Avoid <code>minipage</code> and <code>parbox</code>. These commands are likely to disrupt the line grid. When that happens, restoring the grid is your own responsibility. You may find the <code>adjustwidth</code> environment to be a useful alternative.</p>
<p>• Do not use the <code>center</code> environment. You may use <code>{\centering ... \par}</code> instead. The <code>\center</code> environment causes the text to go off-grid. That's not a problem on some stand-alone pages where you don't care about the grid, but it is ugly in the middle or running text.</p>
<p>• Avoid positioning via the <code>textblock</code> or <code>textblock*</code> environments (package <code>textpos</code>). Actually, novel uses <code>textblock*</code> internally. But if not handled with more care than usual, positioned text can disrupt the baseline and position of surrounding text. You may use <code>\charscale</code> to position small amounts of text safely, but not on a paragraph basis. Images have built-in positioning arguments, which may also be useful for positioned text.</p>
<p>• Do not use floats. If you try, then <code>novel</code> may intercept them with a nasty message.</p>
<p>• Do not use tables. Nasty message will result. But <code>novel</code> has its own provision for a Table of Contents, and the code may be used for other purposes as well. See <a href="noveldocs-09-chapters-displays.html#a9.3">Page 9</a>.</p>
<p>• If you use images, then use only the image commands provided by novel: <code>\InlineImage</code> and <code>\BlockImage</code>. See <a href="noveldocs-08-images.html">Page 8</a><p>
<p>• There is no built-in provision for a two-column environment. However, you can place text alongside an image. See <a href="noveldocs-08-images.html#a8.4.4">Page 8</a>.</p>
<a id="a7.3.2"></a>
<h4>7.3.2 Some Useful Commands</h4>
<p>This is not a complete list. It merely addresses a few situations that you are likely to encounter, without the need for elaborate code, and without loading additional packages.</p>
<p style="margin-top:10pt"><code><b>\begin{adjustwidth}{<em>left</em>}{<em>right</em>}</b> ... <b>\end{adjustwidth}</b></code></p>
<p>This environment, from the included <code>changepage</code> package, is the most useful way to create block indents. The included text may have multiple paragraphs and span pages. The left and right arguments are lengths, being the amount to <em>increase</em> the respective margins from their normal values.</p>
<p style="margin-top:10pt"><code><b>\phantom{<em>text</em>}</b></code></p>
<p>Does not print the text, but leaves a horizontal gap as if the text were there.</p>
<p style="margin-top:10pt"><code><b>\mbox{<em>text</em>}</b></code></p>
<p>Prevents a specific word from being hyphenated, or to ensure that two consecitive words always appear on the same line. The box will not be broken across lines. However, it may overhang the margin, which is undesirable.</p>
<p style="margin-top:10pt"><code><b>\makebox[<em>width</em>][<em>alignment</em>]{<em>text</em>}</b></code></p>
<p>Puts the text in a box of fixed width (usually much larger than the text's own width) and aligns it left, center, or right in the box. If using this across the full textwidth, be sure to precede it with <code>\noindent</code> to prevent offset.</p>
<p style="margin-top:10pt"><code><b>\hspace{<em>length</em>}</b></code></p>
<p>Creates a horizontal space.</p>
<p style="margin-top:10pt"><code><b>\strut</b></code></p>
<p>Places an invisible box with no width, which has the height and depth of the font. Sometimes used as a placeholder.</p>
<p style="margin-top:10pt"><code><b>\indent, \noindent, \forceindent, \backindent</b></code></p>
<p>Commands <code>\indent</code> and <code>\noindent</code> have their ordinary TeX meaning. Sometimes, the action of other macros will remove an indent that should be there, or add an indent that should not be there. If writing <code>\indent</code> and <code>\noindent</code> do not fix the problems, use <code>\forceindent</code> and <code>\backindent</code> as more forceful solutions.</p>
<p style="margin-top:10pt"><code><b>\hfill</b></code></p>
<p>Pushes the following text to the right end of the line. Actual effect depends on what precedes and follows.</p>
<p style="margin-top:10pt"><code><b>\vfill</b></code></p>
<p>Pushes the following text to the bottom of the page. Actual effect depends on paragraph organization.</p>
<p style="margin-top:10pt"><code><b>\kern</b></code></p>
<p>Tweaks the spacing between consecutive letters. A tricky command, as it is always used without braces, and makes the surrounding text illegible in your source code. If you use it, the units of length should always be em, rather than pt. Example:</p>
<p class="code"><code>It wa\kern-.02ems a da\kern.03emrk and stormy ni\kern-.004emght.</code></p>
<p>The <code>\kern</code> command is not useful for globally changing kern values. Its most useful application is inserting just enough tweak so that the layout engine formats a paragraph with different line breaks.</p>
<p style="margin-top:10pt"><code><b>\bigemdash[<em>yoffset,thickness</em>]</b></code></p>
<p>Simulates a "big emdash" of variable length. Horizontal width is from command to end of line marked by <code>\par</code>, or limited by a fixed width such as created by <code>\makebox</code>. If placed in other situations, the line may be missing or too long.</p>
<p>The line's normal position is at the typical height of an emdash, which is slightly above half the height of lowercase x. Its normal width is typical of an emdash width. Thus, the line is like an extended emdash.</p>
<p>You can tweak the line using its optional argument. The first value tweaks the vertical position by a scale factor, where 1 equals its normal position (so that 0.9 places it a little lower). The second argument, if used, is separated from the first by a comma. It tweaks the line thickness by a scale factor (so that 0.9 makes it a little thinner).</p>
<p>Since <code>\bigemdash</code> allows an optional argument, but no mandatory argument, you may not immediately follow it with text. If it is boxed, then first close the box; otherwise, end the paragraph.</p>
</div><!-- end main -->
<div id="finish"></div>
</div><!-- end master -->
</body>
</html>
|