File: manual031.html

package info (click to toggle)
hevea-doc 1.07-1
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 632 kB
  • ctags: 449
  • sloc: makefile: 32
file content (420 lines) | stat: -rw-r--r-- 19,404 bytes parent folder | download
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
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>

<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="hevea 1.07">
<META name="Author" content="Luc Maranget">
<TITLE>
Extra Features
</TITLE>
</HEAD>
<BODY TEXT=black BGCOLOR=white>
<A HREF="manual030.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="manual015.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="manual032.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#2de52d"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=5><B><A NAME="htoc110">B.16</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=5><B>Extra Features</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE><UL>
<LI><A HREF="manual031.html#toc84">Accents in maths</A>
<LI><A HREF="manual031.html#toc85">TeX macros</A>
<LI><A HREF="manual031.html#toc86">Command Definition inside Command Definition</A>
<LI><A HREF="manual031.html#toc87">Date and time</A>
<LI><A HREF="manual031.html#toc88">Fancy sectioning commands</A>
<LI><A HREF="manual031.html#toc89">H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A as a Back-End for VideoC</A>
</UL>

This section describes H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A functionalities that extends on plain L<sup>A</sup>T<sub>E</sub>X,
as defined in [<CITE><A HREF="manual050.html#latex">L<sup>A</sup>T<sub>E</sub>X</A></CITE>].
Most of the features described here are performed by default.<BR>
<BR>
<A NAME="toc84"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc111">B.16.1</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>Accents in maths</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default122"></A>
Loading the <TT>mathaccents.hva</TT> style files enables
default typesetting of the math
accents commands
(<CODE>\hat</CODE>, <CODE>\tilde</CODE>,...), see Section&nbsp;<A HREF="manual022.html#mathaccents">B.7.4</A>.<BR>
<BR>
<A NAME="toc85"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc112">B.16.2</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>TeX macros</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE><A NAME="texmacro"></A>
Normally, H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A does not recognize constructs that are specific to
TeX.
However, some of the internal commands of H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A are homonymous to
TeX macros, in order to enhance compatibility.
Note that full compatibility with TeX is not guaranteed.<BR>
<BR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#99ff99"><DIV ALIGN=center><TABLE>
<TR><TD><B>B.16.2.1</B></TD>
<TD WIDTH="100%" ALIGN=center><B> la TeX macros definitions</B></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default123"></A><A NAME="@default124"></A>
The <CODE>\def</CODE> construct for defining commands is supported.
It is important to
notice that H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A semantics for <CODE>\def</CODE> 
follows TeX semantics.
That is, defining a command that already
exists with <CODE>\def</CODE> succeeds.
This is an important change with respect to previous versions of
H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A, where <CODE>\def</CODE> had the same semantics as
<CODE>\newcommand</CODE>.<BR>
<BR>
Delimiting characters in command definition are supported.
Consider the following example from the TeX Book:
<PRE>
\def\Look{\textsc{Look}}
\def\x{\textsc{x}}
\def\cs AB#1#2C$#3\$ {#3{ab#1}#1 c\x #2}
\cs AB {\Look}{}C${And \$}{look}\$ 5.
</PRE>It yields:



And $lookab<FONT COLOR=navy>LookLook</FONT> c<FONT COLOR=navy>x</FONT>5.<BR>
<BR>
Please note that delimiting characters are supported as far as I
could, problems are likely with delimiting characters which include
spaces or command names, in particular the command name <CODE>\{</CODE>.
One can include <CODE>\{</CODE> in a command argument by using the grouping
characters <CODE>{</CODE>... <CODE>}</CODE>:
<PRE>
\def\frenchquote(#1){~\emph{#1}~ (in French)}
He said \frenchquote(Alors cette accolade ouvrante {``\{''}~?).
</PRE>Yields:
<DIV ALIGN=left>

He said &nbsp;<EM>Alors cette accolade ouvrante ``{''&nbsp;?</EM>&nbsp; (in French).
</DIV><BR>
Another source of incompatibilty with TeX is that substitution of
macros parameters is not performed at the same moment by H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A and
TeX.
However, things should go smoothly at the first level of macro
expansion, that is when the delimiters
appear in source code at the same level as the macro that is to
parse them.
For instance, the following source will give different results in
L<sup>A</sup>T<sub>E</sub>X and in H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A:
<PRE>
\def\cs#1A{``#1''}
\def\othercs#1{\cs#1A}
\othercs{coucouA}
</PRE>L<sup>A</sup>T<sub>E</sub>X output is ``coucou''A, while H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A output is ``coucouA''.
Here is H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A output:


``coucouA''
Please note that in most situations this discrepancy will make
H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A crash. <BR>
<BR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#99ff99"><DIV ALIGN=center><TABLE>
<TR><TD><B>B.16.2.2</B></TD>
<TD WIDTH="100%" ALIGN=center><B>The <TT>\let</TT> construct</B></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default125"></A>H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A also processes a
limited version of <CODE>\let</CODE>:
<DIV ALIGN=left>
<CODE>\let</CODE> <I>macro-name1</I> = <I>macro-name2</I>
</DIV>
The effect is to bind <I>macro-name1</I> to whatever <I>macro-name2</I>
is bound to at the time <CODE>\let</CODE> is processed. This construct may
prove very useful in situations where
one whishes to slightly modify basic commands.
See sections&nbsp;<A HREF="manual013.html#customize-let">9.3</A> and&nbsp;<A HREF="manual017.html#exlet">B.2</A> for examples of using
<CODE>\let</CODE> in such a situation.<BR>
<BR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#99ff99"><DIV ALIGN=center><TABLE>
<TR><TD><B>B.16.2.3</B></TD>
<TD WIDTH="100%" ALIGN=center><B>The <TT>\global</TT> construct</B></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default126"></A>
It is possible to escape scope and to make global definitions
and bindings by using the TeX construct <CODE>\global</CODE>.
The <CODE>\global</CODE> construct is significant before
<CODE>\def</CODE> and <CODE>\let</CODE> constructs.<BR>
<BR>
<A NAME="@default127"></A>
Also note that <CODE>\gdef</CODE> is equivalent to <CODE>\global\def</CODE>.<BR>
<BR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#99ff99"><DIV ALIGN=center><TABLE>
<TR><TD><B>B.16.2.4</B></TD>
<TD WIDTH="100%" ALIGN=center><B>TeX Conditional Macros</B></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE><A NAME="texcond"></A>
<A NAME="@default128"></A><A NAME="@default129"></A><A NAME="@default130"></A><A NAME="@default131"></A>
The <CODE>\newif\if</CODE><I>name</I>, where <I>name</I> is made of letters
only, creates three macros:
<CODE>\if</CODE><I>name</I>, <CODE>\</CODE><I>name</I><CODE>true</CODE> and
<CODE>\</CODE><I>name</I><CODE>false</CODE>.
The latter two set the <I>name</I> condition to <I>true</I> and
<I>false</I>, respectively.
The <CODE>\if</CODE><I>name</I> command tests the condition <I>name</I>:
<DIV ALIGN=left>
<CODE>\if</CODE><I>name<BR>
text<FONT SIZE=2><SUB>1</SUB></FONT></I><BR>
<CODE>\else</CODE><BR>
<I>text<FONT SIZE=2><SUB>2</SUB></FONT></I><BR>
<CODE>\fi</CODE><BR>
</DIV>
Text <I>text<FONT SIZE=2><SUB>1</SUB></FONT></I> is processed when <I>name</I> is
<I>true</I>, otherwise <I>text<FONT SIZE=2><SUB>2</SUB></FONT></I> is processed.
If <I>text<FONT SIZE=2><SUB>2</SUB></FONT></I> is empty, then the <CODE>\else</CODE> keyword can be
omitted.<BR>
<BR>
Note that H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A also implements L<sup>A</sup>T<sub>E</sub>X <TT>ifthen</TT> package
and that TeX simple conditional macros are fully compatible with
L<sup>A</sup>T<sub>E</sub>X boolean registers. More precisely,
we have the following correspondences:
<DIV ALIGN=center>
<TABLE CELLSPACING=2 CELLPADDING=0>
<TR><TD ALIGN=center NOWRAP COLSPAN=2>TeX</TD>
<TD ALIGN=center NOWRAP>L<sup>A</sup>T<sub>E</sub>X</TD>
</TR>
<TR><TD BGCOLOR=black COLSPAN=3><TABLE BORDER=0 WIDTH="100%" CELLSPACING=0 CELLPADDING=1><TR><TD></TD></TR></TABLE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left><CODE>\newif\if</CODE><I>name</I></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left><CODE>\newboolean{</CODE><I>name</I><CODE>}</CODE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left><CODE>\</CODE><I>name</I><CODE>true</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left><CODE>\setboolean{</CODE><I>name</I><CODE>}{true}</CODE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left><CODE>\</CODE><I>name</I><CODE>false</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left><CODE>\setboolean{</CODE><I>name</I><CODE>}{false}</CODE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left><CODE>\if</CODE><I>name text<FONT SIZE=2><SUB>1</SUB></FONT></I><CODE>\else</CODE>
<I>text<FONT SIZE=2><SUB>2</SUB></FONT></I><CODE>\fi</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left><CODE>\ifthenelse{\boolean{</CODE><I>name</I><CODE>}}{</CODE><I>text<FONT SIZE=2><SUB>1</SUB></FONT></I><CODE>}{</CODE><I>text<FONT SIZE=2><SUB>2</SUB></FONT></I><CODE>}</CODE></TD>
</TR></TABLE>
</DIV><BR>
<TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#99ff99"><DIV ALIGN=center><TABLE>
<TR><TD><B>B.16.2.5</B></TD>
<TD WIDTH="100%" ALIGN=center><B>Other TeX Macros</B></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A implements the macros <CODE>\unskip</CODE> and <CODE>\endinput</CODE>.
It also supports the <CODE>\csname</CODE>... <CODE>\endcsname</CODE>
construct.<BR>
<BR>
<A NAME="toc86"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc113">B.16.3</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>Command Definition inside Command Definition</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default132"></A><A NAME="@default133"></A>
If one strictly follows the L<sup>A</sup>T<sub>E</sub>X manual, only commands with no
arguments can be defined inside other commands.
Parameters (i.e., <CODE>#</CODE><I>n</I>) occurring inside command bodies
refer to the outer definition, even when they appear in nested
command definitions.
That is, the following source:
<PRE>
\newcommand{\outercom}[1]{\newcommand{\insidecom}{#1}\insidecom}
\outercom{outer}
</PRE>yields this output:
<DIV ALIGN=center>

outer
</DIV><BR>
Nevertheless, nested commands with arguments are allowed.
Standard parameters <CODE>#</CODE><I>n</I> still refer to the outer
definition, while nested parameters <CODE>##</CODE><I>n</I> refer to the
inner definition.
That is, the source:
<PRE>
\newcommand{\outercom}[1]{\newcommand{\insidecom}[1]{##1}\insidecom{inner}}
\outercom{outer}
</PRE>yields this output:
<DIV ALIGN=center>

inner
</DIV><BR>
<A NAME="toc87"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc114">B.16.4</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>Date and time</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default134"></A><A NAME="@default135"></A>
Date and time support is not enabled by default, for portability and
simplicity reasons.<BR>
<BR>
However, H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A source distribution includes a simple (<TT>sh</TT>)
shell script
<TT>xxdate.exe</TT> that activates date and time support.
The <TT>hevea</TT> command, should be invoked as&nbsp;:
<PRE>
# hevea -exec xxdate.exe ...
</PRE>This will execute the script <TT>xxdate.exe</TT>, whose output is then
read by H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A.
As a consequence, standard L<sup>A</sup>T<sub>E</sub>X counters <CODE>year</CODE>,
<CODE>month</CODE>, <CODE>day</CODE> and
<CODE>\ime</CODE> are defined and
L<sup>A</sup>T<sub>E</sub>X command <CODE>\today</CODE> works properly.
<A NAME="@default136"></A>
Additionnally the following counters and commands are defined&nbsp;:
<DIV ALIGN=center>
<TABLE CELLSPACING=2 CELLPADDING=0>
<TR><TD VALIGN=top ALIGN=left NOWRAP>&nbsp;</TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
</TR>
<TR><TD BGCOLOR=black COLSPAN=3><TABLE BORDER=0 WIDTH="100%" CELLSPACING=0 CELLPADDING=1><TR><TD></TD></TR></TABLE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Counter <TT>weekday</TT></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>day of week, 0...6
(e.g. 4)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Counter <TT>Hour</TT></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>hour, 00...11
(e.g. 02)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Counter <TT>hour</TT></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>hour, 00...23 (e.g. 14)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Counter <TT>minute</TT></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>minute, 00...59
(e.g. 15)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Counter <TT>second</TT></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>second, 00...61<SUP><A NAME="text2" HREF="#note2">1</A></SUP>(e.g. 43)</TD>
</TR>
<TR><TD BGCOLOR=black COLSPAN=3><TABLE BORDER=0 WIDTH="100%" CELLSPACING=0 CELLPADDING=1><TR><TD></TD></TR></TABLE></TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Command <CODE>\ampm</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>AM or PM
(e.g. PM)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Command <CODE>\timezone</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>Time zone
(e.g. CEST)</TD>
</TR>
<TR><TD VALIGN=top ALIGN=left NOWRAP>Command <CODE>\heveadate</CODE></TD>
<TD VALIGN=top ALIGN=center NOWRAP>&nbsp;&nbsp;</TD>
<TD VALIGN=top ALIGN=left>Output of the ``<TT>date</TT>'' Unix
command, (e.g. jeu oct 2 14:15:43 CEST 2003)</TD>
</TR>
<TR><TD BGCOLOR=black COLSPAN=3><TABLE BORDER=0 WIDTH="100%" CELLSPACING=0 CELLPADDING=1><TR><TD></TD></TR></TABLE></TD>
</TR></TABLE>
</DIV><BR>
Note that I choosed to add an extra option (and not an extra
``<CODE>\@exec</CODE>'' primitive) for security reasons. You certainly do
not want to enable H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A to execute silently an arbitrary program
without being conscious of that fact.
Moreover, the <TT>hevea</TT> program does not execute
<TT>xxdate.exe</TT> by default since it is difficult to write such 
a script in a portable manner.<BR>
<BR>
Windows users should enjoy the same features with the version of
<TT>xxdate.exe</TT> included in the Win32 distribution. <BR>
<BR>
<A NAME="toc88"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc115">B.16.5</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>Fancy sectioning commands</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
<A NAME="@default137"></A>
Loading the <TT>fancysection.hva</TT> file will radically change the
style of sectionnal units headers: they appear over a green
backgroud, the backgrould color saturation decreases as the sectioning
commands themselves do (this is the style of this manual).
Additionnaly, the document background color is white.<BR>
<BR>
The <TT>fancysection.hva</TT> file is intended to be loaded after
the document base style. Thus, to use fancy section style in
<TT>doc.tex</TT> whose base style is <I>article</I>
you should issue the command:
<PRE>
# hevea article.hva fancysection.hva doc.tex
</PRE>You can also make a <TT>doc.hva</TT> file that contains the two lines:
<PRE>
\input{article.hva}
\input{fancysection.hva}
</PRE>And then launch <TT>hevea</TT> as:
<PRE>
# hevea doc.hva doc.tex
</PRE>
Sectioning command background colors can be changed by
redefining the corresponding colors (<TT>part</TT>, <TT>chapter</TT>,
<TT>section</TT>,...).
For instance, you get various mixes of red and orange by:
<PRE>
\input{article.hva}
\input{fancysection.hva}
\definecolor{part}{named}{BrickRed}
\definecolor{section}{named}{RedOrange}
\definecolor{subsection}{named}{BurntOrange}
</PRE>(See section&nbsp;<A HREF="manual029.html#color:package">B.14.2</A> for details on the <TT>named</TT>
color model that is used above.)<BR>
<BR>
<A NAME="@default138"></A>
Another choice is issuing the command
<CODE>\colorsections{</CODE><I>hue</I><CODE>}</CODE>, where
<I>hue</I> is a hue value to be interpreted in the HSV model.
For instance,
<PRE>
\input{article.hva}
\input{fancysection.hva}
\colorsections{20}
</PRE>will yield sectionnal headers on a red-orange background.<BR>
<BR>
<A NAME="toc89"></A><TABLE CELLPADDING=0 CELLSPACING=0 WIDTH="100%">
<TR><TD BGCOLOR="#66ff66"><DIV ALIGN=center><TABLE>
<TR><TD><FONT SIZE=4><B><A NAME="htoc116">B.16.6</A></B></FONT></TD>
<TD WIDTH="100%" ALIGN=center><FONT SIZE=4><B>H<FONT SIZE=3><sup>E</sup></FONT>V<FONT SIZE=3><sup>E</sup></FONT>A as a Back-End for VideoC</B></FONT></TD>
</TR></TABLE></DIV></TD>
</TR></TABLE>
H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A is one of the back-ends of the VideoC system for producing
educational CDROM to teach programming languages.
VideoC author is Christian Queinnec and the documentation is available
at:
<DIV ALIGN=center>
<TT><A HREF="http://www-spi.lip6.fr/~queinnec/VideoC/VideoC.html">http://www-spi.lip6.fr/~queinnec/VideoC/VideoC.html</A></TT>.
</DIV><BR>
VideoC translates L<sup>A</sup>T<sub>E</sub>X source into a variety of formats, including
HTML. VideoC source may contain some special constructs for
typesetting source code or to annotate text in sophisticated ways.
H<FONT SIZE=2><sup>E</sup></FONT>V<FONT SIZE=2><sup>E</sup></FONT>A internal engine implements some of the core constructs needed
by VideoC. The rest of VideoC constructs are implemented by
the <TT>.hva</TT> files from VideoC distribution.<BR>
<BR>
<HR WIDTH="50%" SIZE=1><DL><DT><FONT SIZE=5><A NAME="note2" HREF="#text2">1</A></FONT><DD>According to
<TT>date</TT> man page.
</DL>
<HR>
<A HREF="manual030.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="manual015.html"><IMG SRC ="contents_motif.gif" ALT="Up"></A>
<A HREF="manual032.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>