I've just modified the Style Sheet to take the new menu-separator into
account. For v1.0.2, the new Style Sheet applies to all docs. That
means that the old "->" character sequence shall be replaced with the
menu separator for v1.0.2 [or v1.0.3, which would be a doc-update
only].
BTW: I *like* the way footnotes look now. Verrrry spiffy!
--
John Weiss
On a train, someplace between Pawling and White Plains...
#This file was created by <candide> Fri Mar 26 08:33:41 1999
#LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team
\lyxformat 2.15
\textclass article
\language default
\inputencoding latin1
\fontscheme default
\graphics dvips
\paperfontsize 12
\spacing single
\papersize letterpaper
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle plain
\layout Title
Documentation Project Style Sheet
\layout Author
by John Weiss
\layout Abstract
This article is a style sheet.
It describes, with examples, how the documentation should look and sound.
The first few sections explain the font conventions and typography conventions
all documentation writers should follow.
Those sections also contain examples.
It also explains the purpose of each of the different manuals.
Follow it not merely to the letter, but also in spirit.
\layout Abstract
The Style Sheet for LyX documentation [hereafter known as the Style Sheet]
applies to
\emph on
all
\emph default
forms of LyX documenation, regardless of language.
There is a section for translators in the Style Sheet, towards the end.
\emph on
Read the entire Style Sheet!
\emph default
Even if you are a translator, I assume you know enough English to comprehend
this document.
\layout Section
Version
\layout Standard
All documenters and translators should be using version 1.0.1 or later as
of April 1, 1999.
\layout Section
Fonts
\layout Standard
Since this is the easiest section, I'll start here.
\layout Standard
This is how you should fontify text in the manuals:
\layout List
\labelwidthstring MMMMMMMM
\emph on
Emphasized
\emph default
general emphasis, generic arguments, titles of books, names the other manuals
and of their sections, and notes from the authors
\begin_deeper
\layout Standard
Do not overemphasize your text.
\end_deeper
\layout List
\labelwidthstring MMMMMMMM
\family typewriter
Typewriter
\family default
program names, file names,
\family typewriter
man
\family default
-page names, LaTeX code, LaTeX commands, LaTeX package names, and LyX code
and functions
\layout List
\labelwidthstring MMMMMMMM
\family sans
Sans
\protected_separator
Serif
\family default
menu, button, or popup names, the names/lables of all widgets in a popup,
the names of keyboard keys, and certain
\begin_inset Quotes eld
\end_inset
special terms
\begin_inset Quotes erd
\end_inset
\layout List
\labelwidthstring MMMMMMMM
\noun on
Noun
\protected_separator
Style
\noun default
people's names
\layout List
\labelwidthstring MMMMMMMM
\family sans
\bar under
U
\bar default
nderlined
\protected_separator
Sans
\protected_separator
Serif
\family default
Rich Fields added this to mimick the underlining of letters in the menus
and on buttons.
It helps to highlight the accelerator keys, and human brains store information
best when they see it frequently.
\begin_deeper
\layout Description
\bar under
WARNING!
\bar default
--- When you do this, make sure you
\emph on
only
\emph default
shut off the underlining.
Too many people send in things that look like:
\newline
\family sans
\bar under
T
\family default
\bar default
his
\newline
\SpecialChar \ldots{}
i.
\protected_separator
e.
\protected_separator
they not only shut off underlining, they turned off sans-serif, too!
\emph on
Don't do that!
\emph default
Make sure the entire word is still in
\family sans
Sans-Serif
\family default
after you shut off the underlining.
\end_deeper
\layout List
\labelwidthstring MMMMMMMM
\series bold
Bold
\series default
Unused.
\begin_deeper
\layout Standard
If you want to emphasize any text, use
\emph on
Emphasized
\emph default
.
LaTeX will put many things boldface on its own, such as
\family sans
Section
\family default
s, certain parts of equations, et cetera.
\layout Standard
Repeat: do not use boldface.
\end_deeper
\layout Standard
Here are some examples:
\layout Enumerate
The function
\family typewriter
math-mode
\family default
appears in configuration files and in the LyX source.
Therefore, it [and all other LyX function names] count as code and is set
in
\family typewriter
Typewriter
\family default
.
\layout Enumerate
However,
\family sans
\bar under
M
\bar default
ath
\protected_separator
mode
\family default
is a menu item in the
\family sans
\bar under
M
\bar default
ath
\family default
menu, so it appears in
\family sans
Sans
\protected_separator
Serif
\family default
.
Notice the use of
\family sans
\bar under
U
\bar default
nderlined
\protected_separator
Sans
\protected_separator
Serif
\family default
for the accelerator keys.
\layout Enumerate
Consider the following excerpt from the introduction of one of the manuals:
\begin_deeper
\layout Quotation
\family sans
Return
\family default
and
\family sans
Enter
\family default
both refer to the same key.
Some keyboards label the
\family sans
Return
\family default
key as
\begin_inset Quotes eld
\end_inset
Return,
\begin_inset Quotes erd
\end_inset
others as
\begin_inset Quotes eld
\end_inset
Enter,
\begin_inset Quotes erd
\end_inset
still others have two keys.
LyX treats all of them as the same key, so we'll use
\family sans
Return
\family default
and
\family sans
Enter
\family default
interchangeably.
\layout Standard
Notice that the key name,
\family sans
Return
\family default
, is in
\family sans
Sans
\protected_separator
Serif
\family default
, but
\emph on
only
\emph default
when it references the key itself! When I described how the manufacturer
chose to label its keyboard, I used Roman and put the word in quotes.
There is a semantic difference.
\end_deeper
\layout Enumerate
Take the following command:
\begin_deeper
\layout Standard
\family typewriter
lpr -P
\family default
\emph on
printername
\layout Standard
Notice that the argument to the
\family typewriter
-P
\family default
option is in
\emph on
Roman Italics
\emph default
[i.e.
emphasized].
This is a case where you don't use
\family typewriter
Typewriter
\family default
for code, because you want the generic argument label to stand out.
On the other hand, if you were specifying an argument, for example,
\begin_inset Quotes eld
\end_inset
\family typewriter
lpr -Pduaneps
\family default
\begin_inset Quotes erd
\end_inset
, you'd leave it in
\family typewriter
Typewriter
\family default
.
\end_deeper
\layout Enumerate
Any LaTeX commands and code, and any
\emph on
unsupported
\emph default
LaTeX package names get set in
\family typewriter
Typewriter
\family default
.
For example,
\begin_inset Quotes eld
\end_inset
\family typewriter
multicol
\family default
\begin_inset Quotes erd
\end_inset
is the name of an unsupported LaTeX package, but
\begin_inset Quotes eld
\end_inset
\family sans
book
\family default
\begin_inset Quotes erd
\end_inset
is a supported LaTeX class.
\layout Section
Special Typography
\layout Standard
Do the following:
\layout Description
Multi-word
\protected_separator
names Use a
\family sans
Protected
\protected_separator
Blank
\family default
between the words for menu and widget names.
E.
\protected_separator
g.:
\family sans
Save
\protected_separator
As
\family default
, not
\family sans
Save As
\family default
.
\begin_deeper
\layout Standard
This holds for things in
\family typewriter
Typewriter
\family default
as well as
\family sans
Sans
\protected_separator
Serif
\family default
, with one caveat.
If you have a long code example, one that can't simply be inlined and put
in
\family typewriter
Typewriter
\family default
, put that in a
\family sans
LyX
\protected_separator
Code
\family default
environment.
\layout Standard
I want the
\family sans
Protected
\protected_separator
Blank
\family default
so that the name doesn't get split between two lines, which is visually
disruptive.
If something with a
\family sans
Protected
\protected_separator
Blank
\family default
is near the end of a line and overflows the margin, use a
\family typewriter
\backslash
sloppypar
\family default
in that parargraph [consult a LaTeX book for more about
\begin_inset Quotes eld
\end_inset
\family typewriter
\backslash
sloppypar
\family default
\begin_inset Quotes erd
\end_inset
] or manually add a hypenation point.
\end_deeper
\layout Description
Special
\protected_separator
Terms These are things like the following:
\begin_deeper
\layout Itemize
\family sans
HFill
\family default
\layout Itemize
\family sans
VFill
\family default
\layout Itemize
\family sans
Table
\protected_separator
Float
\layout Itemize
\family sans
Figure
\protected_separator
Float
\begin_deeper
\layout Standard
Use
\family sans
Sans
\protected_separator
Serif
\family default
font and, in the case of
\family sans
HFill
\family default
and
\family sans
VFill
\family default
, capitalize the first two letters.
\layout Standard
Why are these terms special? They are concepts which the seasoned LaTeX-pert
is familiar with, but which the new LyX user is not.
I want them to stand out from the rest of the text, hence the use of
\family sans
Sans
\protected_separator
Serif
\family default
for them.
\end_deeper
\end_deeper
\layout Description
Terminology Note the following:
\layout Itemize
PostScript� is a registered trademark of Adobe Corp.
\emph on
You must put the � after it or we'll get sued!
\emph default
I also want it written as seen here, always capitalized.
Not
\begin_inset Quotes eld
\end_inset
postscript�,
\begin_inset Quotes erd
\end_inset
or
\begin_inset Quotes eld
\end_inset
Postscript�
\begin_inset Quotes erd
\end_inset
but
\begin_inset Quotes eld
\end_inset
PostScript�
\begin_inset Quotes erd
\end_inset
- both of them capitalized, in the default font [i.
\protected_separator
.e.
\protected_separator
Roman].
If you must, cut and paste it from here.
\begin_deeper
\layout Standard
I am going to say this again:
\layout Standard
\added_space_top 0.37cm \added_space_bottom 0.51cm \align center
\size larger
\emph on
You must put the � after PostScript� or we'll get sued!
\layout Standard
I mean it! American companies like to sue anything that moves.
If LyX gets in trouble because
\emph on
you
\emph default
forgot the �, I will come after you with a running chainsaw.
Got it?
\end_deeper
\layout Itemize
It's a
\bar under
popup
\bar default
;
\begin_inset Quotes eld
\end_inset
widget
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
dialog box
\begin_inset Quotes erd
\end_inset
are programmer terms, so don't use them.
\layout Itemize
The word
\begin_inset Quotes eld
\end_inset
popup
\begin_inset Quotes erd
\end_inset
should be in Roman.
There should be no
\family sans
Protected
\protected_separator
Blank
\family default
between the popup's name and the word
\begin_inset Quotes eld
\end_inset
popup.
\begin_inset Quotes erd
\end_inset
Example:
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
\family sans
Paragraph
\protected_separator
Layout
\family default
popup\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
.
Anything else is
\emph on
wrong.
\layout Itemize
The thing below the menu and above the editing window is the
\bar under
toolbar
\bar default
.
\begin_deeper
\layout Standard
As for the terms
\begin_inset Quotes eld
\end_inset
popup
\begin_inset Quotes erd
\end_inset
and
\begin_inset Quotes eld
\end_inset
toolbar
\begin_inset Quotes erd
\end_inset
, if at some point I [or a future editor] need to change those,
\emph on
I'll
\emph default
take care of that.
That's the editor's job, after all.
I want all of you, however, to use those terms.
It will make any future switch much, much easier for the either me or my
successor(s).
\end_deeper
\layout Description
Menu
\protected_separator
Items When quick-referencing an item in a menu, use the menu separator:
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
.
Example:
\family sans
File\SpecialChar \menuseparator
Save
\family default
.
Notice that there are
\emph on
no spaces
\emph default
around the
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
and that it's in
\family sans
Sans
\protected_separator
Serif
\family default
, just like the menu and item names.
\begin_deeper
\layout Enumerate
The reason why I want no spaces around the
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
is to prevent LyX from splitting terms across lines.
The same goes for using
\family sans
Protected
\protected_separator
Blank
\family default
s between multi-word terms.
The split would be visually disruptive.
\layout Enumerate
A
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
goes between menu names and item names
\emph on
only
\emph default
.
[Yes, submenus are okay, too].
\layout Enumerate
\emph on
NEVER
\emph default
put
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
between menu items and popup names.
Example:
\begin_inset Quotes eld
\end_inset
\family sans
\bar under
L
\bar default
ayout\SpecialChar \menuseparator
P
\bar under
a
\bar default
per\SpecialChar \menuseparator
Paper
\protected_separator
Popup
\family default
\begin_inset Quotes erd
\end_inset
\emph on
IS STRICTLY FORBIDDEN!
\emph default
\begin_deeper
\layout Standard
Use
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
the
\family sans
Paper
\family default
popup [opened via
\family sans
\bar under
L
\bar default
ayout\SpecialChar \menuseparator
P
\bar under
a
\bar default
per
\family default
]\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
or something similar.
If you mentioned how to open the popup in an earlier sentence, someplace
else in the paragraph, you needn't do it repeatedly.
\end_deeper
\layout Enumerate
\emph on
NEVER
\emph default
put
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
between popup names and any popup widget.
Example:
\begin_inset Quotes eld
\end_inset
\family sans
Paper
\protected_separator
Popup\SpecialChar \menuseparator
P
\bar under
o
\bar default
rtrait
\family default
\begin_inset Quotes erd
\end_inset
\emph on
IS STRICTLY FORBIDDEN!
\begin_deeper
\layout Standard
Use
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
the
\family sans
P
\bar under
o
\bar default
rtrait
\family default
button on the
\family sans
Paper
\family default
popup\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
or something similar.
If it's clear where the button is, you don't need to keep repeating the
popup's name.
\end_deeper
\layout Enumerate
\emph on
NEVER
\emph default
put
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
between menu items and any popup widget.
Example:
\begin_inset Quotes eld
\end_inset
\family sans
\bar under
L
\bar default
ayout\SpecialChar \menuseparator
P
\bar under
a
\bar default
per\SpecialChar \menuseparator
P
\bar under
o
\bar default
rtrait
\family default
\begin_inset Quotes erd
\end_inset
\emph on
IS STRICTLY FORBIDDEN!
\begin_deeper
\layout Standard
If you really, really need to name a widget, the popup its on, and the menu
item used to open the popup, then write it out:
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
the
\family sans
P
\bar under
o
\bar default
rtrait
\family default
button [on the
\family sans
Paper
\family default
popup, opened using
\family sans
\bar under
L
\bar default
ayout\SpecialChar \menuseparator
P
\bar under
a
\bar default
per
\family default
]\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
\end_deeper
\end_deeper
\layout Description
Note
\protected_separator
Boxes LyX has a feature for adding comments to a popup that appear only
within the LyX GUI.
Here's one:
\begin_inset Info These should NEVER appear in the manuals.
\end_inset
.
You will see nothing in a printout of the Style Sheet.
Therefore, they have no place in the manuals.
Period.
If you have a parenthetical comment you want to make, the reader should
see it too.
Use an Author's Note [see section
\begin_inset LatexCommand \ref{sec:author-notes}
\end_inset
] in place of the Note-Boxes [or whatever they're called].
\layout Section
Keys
\layout Standard
The canonical keyboard contains these keys:
\layout Itemize
\family sans
C-
\family default
or
\family sans
Control-
\family default
\layout Itemize
\family sans
S-
\family default
or
\family sans
Shift-
\family default
\layout Itemize
\family sans
M-
\family default
or
\family sans
Meta-
\family default
\begin_deeper
\layout Standard
Self-explanatory.
Be lazy and
\emph on
use the abbreviations
\emph default
whenever possible.
\end_deeper
\layout Itemize
\family sans
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
\begin_deeper
\layout Standard
The function keys.
Most modern keyboards have all 12.
\end_deeper
\layout Itemize
\family sans
Esc
\family default
\begin_deeper
\layout Standard
The
\begin_inset Quotes eld
\end_inset
Escape key.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Itemize
\family sans
Insert
\family default
\family sans
Delete
\family default
\family sans
Home
\family default
\family sans
End
\family default
\family sans
PageUp
\family default
\family sans
PageDown
\begin_deeper
\layout Standard
These are the 6 keys that appear above the cursor keys on many PC keyboards.
Consider them as part of the standard motion keys.
\end_deeper
\layout Itemize
\family sans
Left Right Up Down
\begin_deeper
\layout Standard
The four standard motion keys.
There is no need to put the word
\begin_inset Quotes eld
\end_inset
arrow
\begin_inset Quotes erd
\end_inset
anywhere, since that's obvious.
\begin_float footnote
\end_deeper
\layout Standard
Same goes for
\begin_inset Quotes eld
\end_inset
cursor key
\begin_inset Quotes erd
\end_inset
.
Even the word
\begin_inset Quotes eld
\end_inset
key
\begin_inset Quotes erd
\end_inset
after one of these may be redundant in certain situations.
\end_float
\layout Itemize
\family sans
Return
\family default
and
\family sans
Enter
\family default
\begin_deeper
\layout Standard
I won't throw a hissy fit if you use one instead of the other.
I'd prefer if you used
\family sans
Return
\family default
over
\family sans
Enter
\family default
, but it's okay if you slip up and forget.
Since these two keys are bound to the same function in LyX, it doesn't
really matter.
\end_deeper
\layout Standard
You do not need to explain everywhere what the
\family sans
Meta
\family default
key is or where the
\family sans
Left
\family default
key is, et cetera.
The user isn't stupid.
Also, someone will document anything that isn't clear [e.
\protected_separator
g.
\protected_separator
the
\family sans
Meta
\family default
vs.
\family sans
Alt
\family default
problem] someplace in the introduction.
No need for you to repeat someone else's work.
\layout Standard
LyX does not support kyboards missing any of the keys described above, with
one exception.
LyX can support a keyboard missing
\family sans
F11
\family default
and
\family sans
F12
\family default
.
There is a keyboard accelerator for
\family sans
F10
\family default
, but this is the only function key LyX assumes exists.
Nevertheless, these details are of minor, if any, concern for the documentation.
Assume the aforementioned keys exist.
\layout Section
Mice
\layout Standard
The word
\begin_inset Quotes eld
\end_inset
mouse
\begin_inset Quotes erd
\end_inset
and any description of the 3 mice buttons have no special handling.
Don't typeset them in any other font than the default, which is Roman.
Exception: you're writing an Author's Note [see section
\begin_inset LatexCommand \ref{sec:author-notes}
\end_inset
] and you need to mention something about the mouse.
Since the rest of the note is in
\emph on
Emphasized
\emph default
, your description of
\begin_inset Quotes eld
\end_inset
middle mouse button
\begin_inset Quotes erd
\end_inset
should be emphasized, as well.
There are a couple of other cases like this one; use your judgement.
\layout Standard
There are only 3 mouse buttons.
The use of them and of the mouse itself is obvious.
There are few nonstandard things we do with the mouse.
Therefore, there's no need to make the word
\begin_inset Quotes eld
\end_inset
mouse
\begin_inset Quotes erd
\end_inset
or
\begin_inset Quotes eld
\end_inset
mouse button
\begin_inset Quotes erd
\end_inset
stand out.
\layout Section
Cross-References and Labels
\layout Standard
Use the following labelling conventions:
\layout List
\labelwidthstring 00.00.0000
sec:xxx Use this for
\family sans
Section
\family default
s as well as
\family sans
Chapter
\family default
s,
\family sans
Subsection
\family default
s,
\family sans
Subsubsection
\family default
s, etc.
\layout List
\labelwidthstring 00.00.0000
eqn:xxx Use this for Equations, should you need to create any.
\layout List
\labelwidthstring 00.00.0000
tbl:xxxx Use this for tables inside of a table float.
\layout List
\labelwidthstring 00.00.0000
fig:xxx Use this for figures inside of figure floats.
\layout Standard
Additionally, you should put the label at one of two locations:
\layout Enumerate
The
\emph on
beginning of the paragraph
\emph default
, after a section heading, or at the beginning of captions, etc.
It should be the first thing on the first line.
Don't put a space betweeen it and the first word.
\layout Enumerate
If there is no paragraph after a section heading, put it at the
\emph on
end of the last line.
\emph default
\begin_deeper
\layout Standard
Example: You have a
\family sans
Section
\family default
which is immediately followed by a
\family sans
Subsection
\family default
heading.
This is a case where you need to put the label at the end of the
\family sans
Section
\family default
heading.
I know it looks ugly; not much we can do about that, though.
\end_deeper
\layout Section
Content - What Goes Where
\layout Standard
This is
\emph on
very
\emph default
important, so PAY ATTENTION!
\layout Standard
I do not want
\family typewriter
Tutorial.lyx
\family default
,
\family typewriter
Reference.lyx
\family default
, and
\family typewriter
UserGuide.lyx
\family default
to all repeat the same dumbed-down drivel, like the manuals for certain
commercial wordprocessors do.
That's useless.
It's a waste of our time, too.
I want the manuals to dovetail together, to interface with one another.
In principle, we use
\family typewriter
Reference.lyx
\family default
as a base and build the others on it.
\layout Standard
You see, in the past, whenever someone wanted to document a new feature
they added, they either wrote a mini-doc and stuck it into the documentation
directory, or they added a new section to
\family typewriter
Main.lyx
\family default
.
They tried to explain what their new feature did, but then needed to explain
how to bind keys to it, how to use it, provide examples,
\layout Quote
...and on
\layout Quote
...and on
\layout Quote
...and on.
\layout Standard
The result was a totally bloated, totally unnavigable
\family typewriter
Main.lyx
\family default
.
I wanted to change, which is why I ended up as editor of the DocTeam.
In that time, I started a major reworking, which included the writing of
\family typewriter
UserGuide.lyx
\family default
, over half of which is my own work.
I don't want all that work to be for nothing.
I don't want the docs to fall back into a mess.
\layout Standard
With that in mind, I have some instructions for how to keep things organized:
\layout List
\labelwidthstring 00.00.0000
\family typewriter
Intro.lyx
\family default
Please, don't touch this file.
It's essentially complete, anyhow.
Only the editor(s) should make changes to this, as this file contains info
about how to contribute to the doc project.
That's really the only stuff that should need to change, and even then,
only when a new maintainer comes along.
\layout List
\labelwidthstring 00.00.0000
\family typewriter
UserGuide.lyx
\family default
This file is complete.
Any changes should be for updates
\emph on
only
\emph default
.
DO NOT ADD new features to here willy-nilly.
Let the editor decide if --- and when --- new sections go in here.
Place any new features in\SpecialChar \ldots{}
\layout List
\labelwidthstring 00.00.0000
\family typewriter
Extended.lyx
\family default
This is where all new features go from now on.
It's in the style of a bound journal --- each section is an
\begin_inset Quotes eld
\end_inset
article
\begin_inset Quotes erd
\end_inset
from the author of the feature.
Also, anyone who writes a
\family typewriter
.layout
\family default
file for a new document class should write a section describing that new
class and how to use it.
That also goes here.
\begin_deeper
\layout Standard
Note, however, that you are
\emph on
not
\emph default
excused from following this Style Sheet just because the sections of
\family typewriter
Extended.lyx
\family default
are in the form of a journal article.
\end_deeper
\layout List
\labelwidthstring 00.00.0000
\family typewriter
Tutorial.lyx
\family default
This file is complete.
Do not change or add to without permission of the Documenation Project
editor.
\layout List
\labelwidthstring 00.00.0000
\family typewriter
Customization.lyx
\family default
It's a mess.
Complete disaster! [
\emph on
sob
\emph default
!]
\newline
Someday, a complete description of how to write new
\family typewriter
.layout
\family default
files will be in here.
And a description of the new
\family typewriter
.lyxrc
\family default
format.
And a description of how to tailor LyX for use with languages other than
English, or how to use LyX in a multi-lingual setting.
And how to customize your keyboard bindings.
Plenty of stuff to do!
\layout List
\labelwidthstring 00.00.0000
\family typewriter
Reference.lyx
\family default
I'd prefer to completely finish this one before doing anything else, but
that's unrealistic.
LyX keeps changing so much that I think the
\emph on
Reference Manual
\emph default
will be the last one completed.
However, I'd like it if the developer's would add entries anytime they
create a new function or popup.
That would help things immensely!
\layout Section
Writing Style: The Primary Manuals
\layout Standard
While I want to make contributing to the Documentation Project as painless
as possible for newcomers, I also want the newcomers to be painless on
the existing Documentation Team! Ergo, I've written this section to give
some flavor to guide everyone's individual style.
\layout Subsection
Language
\layout Standard
All contributions to the
\emph on
primary
\emph default
LyX documentation must be in English.
I don't care if it's British, Australian, or American English.
The DocTeam editor will proofread for glaring mistakes and fix them.
\layout Standard
Don't get hung up on semantics.
English is a flexible language, and just because your Mothertongue-to-English
dictionary gives only one translation for a word doesn't necessarily mean
it's so.
We've had some discussions and misunderstandings on the Developers' List
because of this very problem.
If something is unclear [or just plain weird] due to a translation problem,
one of the American/British/Australian developers can fix it.
\layout Standard
Nota Bene: by
\emph on
primary
\emph default
documentation, I exclude the translations.
Right now, we don't have enough people to cover the manuals in one language,
let alone more than one.
Subsequently, the tranlsations tend to be just that --- translations of
the English version of the LyX manuals.
The translation efforts require have their own set of guidelines.
See section
\begin_inset LatexCommand \ref{sec:translations}
\end_inset
for more info.
\layout Subsection
General Stylistic Guidelines
\layout Standard
Everything in this section is
\emph on
mandatory to all documenters
\emph default
, regardless the language you're writing in.
\layout Subsubsection
Typography
\layout Enumerate
Use the typography rules outlined in the beginning sections of this document.
\layout Enumerate
Don't, however, mimic the typography of this file.
Yes, the Style Sheet doesn't follow the Style Sheet [grin].
\layout Enumerate
There is some typographic freedom in those rules in earlier sections.
Use that freedom wisely.
Most importanly, never sacrifice the online appearance for the printed
appearance and vice versa.
\begin_deeper
\layout Standard
An example is in the
\emph on
User's Guide
\emph default
.
There is a footnote using the
\family typewriter
multcols
\family default
command to divide a long
\family sans
Itemize
\family default
environment into 3 columns.
It adds some LaTeX commands to the online version, the so-called
\begin_inset Quotes eld
\end_inset
Evil Red Text
\begin_inset Quotes erd
\end_inset
that some so vehemently oppose.
Without it, however, that footnote takes up over two pages, most of which
is empty space.
This is an example of permitting a little ugliness in the online version
to get the printed version to look right.
\layout Standard
The old menu separator,
\begin_inset Quotes eld
\end_inset
->
\begin_inset Quotes erd
\end_inset
, was another example.
The characters
\begin_inset Quotes eld
\end_inset
->
\begin_inset Quotes erd
\end_inset
didn't look all that great in printed versions.
Online, however, it was a reasonable approximation of an arrow regardless
of screen font.
This is a case where the printed version took a slight appearance hit for
the benefit of the online version.
\begin_float footnote
\end_deeper
\layout Standard
Note that we have simce replaced the
\begin_inset Quotes eld
\end_inset
->
\begin_inset Quotes erd
\end_inset
characters with the true menu separator,
\begin_inset Quotes eld
\end_inset
\SpecialChar \menuseparator
\begin_inset Quotes erd
\end_inset
.
\end_float
\layout Enumerate
When in doubt, compromise.
\begin_deeper
\layout Standard
When in doubt, use good judgement.
\end_deeper
\layout Subsubsection
Semantics
\layout Enumerate
You are
\begin_inset Quotes eld
\end_inset
we
\begin_inset Quotes erd
\end_inset
.
\begin_deeper
\layout Standard
When you speak, you speak for the entire LyX Team, so use
\begin_inset Quotes eld
\end_inset
we
\begin_inset Quotes erd
\end_inset
instead of
\begin_inset Quotes eld
\end_inset
I
\begin_inset Quotes erd
\end_inset
.
\end_deeper
\layout Enumerate
The reader is
\begin_inset Quotes eld
\end_inset
you
\begin_inset Quotes erd
\end_inset
.
\begin_deeper
\layout Standard
Whenever you want to say something to the reader, use
\begin_inset Quotes eld
\end_inset
you,
\begin_inset Quotes erd
\end_inset
not some contorted construction to avoid being too informal.
\end_deeper
\layout Enumerate
Use the term
\begin_inset Quotes eld
\end_inset
mouse
\begin_inset Quotes erd
\end_inset
for both the physical pointing object [mouse, joystick, touch pad, track
ball, etc.] and the mouse cursor which the physical object moves about the
screen.
\layout Enumerate
Use the term
\begin_inset Quotes eld
\end_inset
cursor
\begin_inset Quotes erd
\end_inset
for the little blinking vertical bar that indicates where text can/will
appear next.
\layout Enumerate
When in doubt, compromise.
\begin_deeper
\layout Standard
When in doubt, use good judgement.
\end_deeper
\layout Subsubsection
Commentary from the Author [i.
\protected_separator
e.: You]
\layout Standard
\begin_inset LatexCommand \label{sec:author-notes}
\end_inset
I want to make it easy for everyone when it comes to documenting things.
Some features are incomplete.
Some you might not know everything about.
Sometimes, you may want to comminucate something to me or the reader or
other DocTeam members.
Sometimes, you may want to
\begin_inset Quotes eld
\end_inset
speak for yourself;
\begin_inset Quotes erd
\end_inset
you want to say something that is your personal opinion and using
\begin_inset Quotes eld
\end_inset
we
\begin_inset Quotes erd
\end_inset
would be inappropriate.
\layout Standard
For occasions like those, I've designed two mechanisms:
\layout Description
Personal
\protected_separator
Notes: These are footnotes.
They begin with the following:
\begin_deeper
\layout Standard
\begin_inset Quotes eld
\end_inset
Note from
\noun on
Name of Person
\noun default
:
\begin_inset Quotes erd
\end_inset
\layout Standard
\SpecialChar \ldots{}
using the
\noun on
Noun Style
\noun default
for the person's name and without the quotes.
The rest of the footnote is the actual comment.
If the comment is too large to put in a footnote, put it in a
\family sans
Quotation
\family default
paragraph environment instead.
\layout Standard
Use these when you need to quote a comment by someone, and want to identify
that person.
\end_deeper
\layout Description
Author's
\protected_separator
Notes: These go in the body of the text, in brackets.
The bracket are in the defaul character style, but the note itself is emphasize
d.
Begin with the words,
\begin_inset Quotes eld
\end_inset
\emph on
Author's Note:
\emph default
\begin_inset Quotes erd
\end_inset
and end with
\begin_inset Quotes eld
\end_inset
---
\begin_inset Quotes eld
\end_inset
followed by your initials.
Here's an example: [
\emph on
Author's Note: This is an example note.
---jw
\emph default
].
\begin_deeper
\layout Standard
You should use these for the following purposes:
\layout Itemize
You need to contradict something you just wrote because the feature isn't
quite ready yet, but you want to document what it will do.
\layout Itemize
You need to leave a note for yourself.
\layout Itemize
You need to leave a note for the editor or the other DocTeam members.
\layout Itemize
You need to point something out to the reader that doesn't fit into the
context of the current paragraph.
\end_deeper
\layout Standard
You are also free to use footnotes on their own in addition to the personal
notes and/or author's notes.
I've frequently used footnotes to \SpecialChar \ldots{}
well, to comment on parts of a section
without putting the commentary into the body of the text.
\layout Subsubsection
Coverage
\layout Standard
When describing a new feature or
\family typewriter
*.layout
\family default
file, be sure to:
\layout Enumerate
Be
\emph on
clear, concise,
\emph default
and
\emph on
to the point
\emph default
.
KISS =
\begin_inset Quotes eld
\end_inset
Keep It Short and Sweet
\begin_inset Quotes erd
\end_inset
[or,
\begin_inset Quotes eld
\end_inset
Keep It Simple, Stupid!
\begin_inset Quotes erd
\end_inset
]
\begin_deeper
\layout Itemize
Do
\emph on
not
\emph default
write paragraph after paragraph of verbage.
\layout Itemize
Get to the point.
\layout Itemize
Take a look at the manual for a commercial word processor --- it's a fine
example of how
\series bold
NOT
\series default
to write documentation.
It's all pithy, substanceless verbage, and its
\emph on
utterly useless!
\emph default
\end_deeper
\layout Enumerate
Avoid being pedantic like The Plauge!
\layout Enumerate
In the same vein, don't write more than you have to.
You're not working in a vacuum --- refer freely to other parts of the manual
[and other parts of other manuals].
Even if that
\begin_inset Quotes eld
\end_inset
other part of the manual
\begin_inset Quotes erd
\end_inset
is incomplete or empty, refer to it.
Someone will fill it in.
\layout Enumerate
On the other hand, BE THOROUGH!
\begin_deeper
\layout Enumerate
You are documenting
\emph on
features
\emph default
, not widgets, not how the source code is organized.
\layout Enumerate
Stay on topic --- one
\family sans
Section
\family default
should cover
\emph on
one
\emph default
feature.
Use
\family sans
Subsection
\family default
s and further subdivisions to group things if you're documenting several
related features in a single
\family sans
Section
\family default
.
\layout Enumerate
Describe EVERYTHING related to that feature, no matter where it is.
\begin_deeper
\layout Enumerate
Example: Paragraph Indenting.
Several popups control its behavior.
You would document
\emph on
all
\emph default
of this: which popups control it, when you use which setting on which popup
to do which operation, et cetera, et cetera, et cetera.
\layout Enumerate
Note from
\noun on
John Weiss
\noun default
:
\newline
I've had people only document one popup --- literally.
This added off-topic information and only described half of the feature,
since other menus, popups, and even unbound functions contained additional
stuff.
\newline
I get
\emph on
really
\emph default
cranky when that happens, because it means
\emph on
I
\emph default
end up fixing it.
Bad help is worse than no help at all.
\begin_deeper
\layout Standard
These remarks still hold true: you'll piss of the DocTeam editor if you
do things wrong, because he'll have to fix your mistakes.
\end_deeper
\end_deeper
\layout Enumerate
Remember, there are people who will reference
\emph on
your
\emph default
section, just as you're referencing someone else's.
You do want what you write to be useful, don't you?
\end_deeper
\layout Enumerate
When in doubt, compromise.
\begin_deeper
\layout Standard
When in doubt, use good judgement.
\end_deeper
\layout Subsubsection
NEVER NEVER
\emph on
NEVER EVER
\emph default
Treat the Reader as if She is Stupid
\layout Enumerate
No dumbing-down!
\layout Enumerate
No talking down to the reader!
\layout Enumerate
The reader is smart enough to know what a mouse is.
\layout Enumerate
The reader is smart enough to know how to use a keyboard, including the
\family sans
Shift-
\family default
,
\family sans
Control-
\family default
, and
\family sans
Meta-
\family default
keys.
[
\emph on
I
\emph default
explain that
\family sans
Meta-
\family default
is the
\family sans
Alt-
\family default
key on many keyboards in the introductions of every one of the manuals,
so you don't need to.]
\layout Enumerate
The reader is smart enough to know that
\begin_inset Quotes eld
\end_inset
at the cursor
\begin_inset Quotes erd
\end_inset
means
\begin_inset Quotes eld
\end_inset
where the text cursor is sitting right now, in the buffer currently visible.
\begin_inset Quotes erd
\end_inset
\size small
[Anything more than the word
\begin_inset Quotes eld
\end_inset
cursor
\begin_inset Quotes erd
\end_inset
is, IMO, superfluous and I will delete it.
So, save yourself the typing, save me the editing, and save the reader
the strain of sifting through extra verbage that adds no content.]
\layout Enumerate
Rule of thumb: the reader is not an imbecile.
The reader is merely lost; point them in the right direction, and they
can take it from there.
\layout Subsection
Tips for the English Version
\layout Standard
When contributing to the primary --- i.
\protected_separator
e.
\protected_separator
the English language version --- of the LyX manuals, keep the following
in mind.
\layout Subsubsection
Write as if You're Talking with a Friend.
\layout Enumerate
Think that way when you write.
Play the dialogue in your mind.
\layout Enumerate
Be as informal as you please [without being rude].
\layout Subsubsection
AVOID the Passive Voice
\layout Enumerate
No:
\begin_inset Quotes eld
\end_inset
It is felt that this name best explains the command's purpose.
\begin_inset Quotes erd
\end_inset
You know full well who wrote the command:
\begin_inset Quotes eld
\end_inset
The LyX Team felt ...
\begin_inset Quotes erd
\end_inset
Or, better yet,
\begin_inset Quotes eld
\end_inset
We felt that ...
\begin_inset Quotes erd
\end_inset
\layout Enumerate
Things don't happen by magic - somebody or something did it.
Only politicians use the passive voice to cover up actions.
If LyX reformats a paragraph, write,
\begin_inset Quotes eld
\end_inset
LyX reformatted the paragraph.
\begin_inset Quotes erd
\end_inset
If
\family typewriter
ispell
\family default
makes changes, write,
\begin_inset Quotes eld
\end_inset
\family typewriter
ispell
\family default
changes the document.
\begin_inset Quotes erd
\end_inset
\begin_deeper
\layout Standard
Rule of thumb: any sentence you can express as,
\begin_inset Quotes eld
\end_inset
It was done by foo,
\begin_inset Quotes erd
\end_inset
you can express as,
\begin_inset Quotes eld
\end_inset
Foo did it.
\begin_inset Quotes erd
\end_inset
Much nicer.
\end_deeper
\layout Enumerate
I know it's tough.
We all hear way, way too much garbage English on the TV every day in the
passive voice.
Some people think it makes speech better.
It doesn't.
It makes speech byzantine.
With a little effort, you can wean yourself off of it.
\layout Enumerate
I
\emph on
will make you rewrite
\emph default
anything in the passive voice.
It's awkward and hard to read.
\layout Enumerate
Note to non-Americans:
\begin_deeper
\layout Standard
Using passive voice is generally considered bad style in the U.
\protected_separator
S.
\protected_separator
as it is too easy to obfuscate your words with it.
It also bloats sentences, often unnecessarily.
\end_deeper
\layout Subsubsection
Short Sentences.
Short Paragraphs.
\layout Standard
In English, there is a grammatical error known as the
\begin_inset Quotes eld
\end_inset
run-on sentence.
\begin_inset Quotes erd
\end_inset
Those of us who grew up with English learned in school to avoid stringing
7 clauses together with the word
\begin_inset Quotes eld
\end_inset
and.
\begin_inset Quotes erd
\end_inset
There are, however, less obvious run-on sentences, ones using too many
subordinate clauses.
Such sentences may look elegant because they are complex.
However, they are also extremely difficult to read because they are so
complex.
\layout Standard
In general, stick to short sentences in written English.
Getting rid of passive void [
\begin_inset Quotes eld
\end_inset
\SpecialChar \ldots{}
was done by\SpecialChar \ldots{}
\begin_inset Quotes erd
\end_inset
] shortens and simplifies them.
Hacking apart sentences with many dependent clauses is another way to shorten
sentences.
There are ways to do this yet still have a smooth-flowing paragraph.
\layout Standard
While I'm talking about paragraphs, I'll apply the
\begin_inset Quotes eld
\end_inset
shorter is better
\begin_inset Quotes erd
\end_inset
motto to them.
At the time I started with the manuals [and this Style Sheet], I didn't
pay too much attention to paragraph size.
I've since become a big proponent of short paragraphs, with one idea per
paragraph.
While long, flowing, multi-concept paragraphs can be nice in novels, we're
writing manuals here, folks.
Our goal is rapid information location and comprehension, not a literary
prize.
\layout Standard
There is a single exception to the short sentence, short paragraph rule.
Particularly complex ideas may need more
\begin_inset Quotes eld
\end_inset
breathing room.
\begin_inset Quotes erd
\end_inset
However, you shouldn't encounter such complex ideas often when documenting
LyX.
Try to keep things short, and use your judgement as needed.
\layout Standard
To reiterate, yet again, something I said before:
\layout Quote
When in doubt, compromise.
\layout Quote
When in doubt, use good judgement.
\layout Standard
Hopefully, you've got the idea.
\layout Section
Translations
\layout Standard
\begin_inset LatexCommand \label{sec:translations}
\end_inset
As of version 1.0.*, LyX now has translations of the manuals into several
languages.
These translations are in varying stages of completion.
Since I can speak German fluently [on most days], I decided to give das
deutsche �bersetzung a look.
\layout Standard
\emph on
More to come soon...
\the_end