Publication Date 16 May 2012
Version 2
$Revision: 39 $
Build Date: May 16, 2012
Legal Notice
Copyright (c) 2007 Novell, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Section being Trademark Policy, with the Front-Cover Texts being Documentation Style Guide and SUSE and openSUSE. A copy of the license is included in Appendix B, GNU Free Documentation License.
Disclaimer. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither Novell, Inc., SUSE LINUX Products GmbH, the authors, nor the translators shall be held liable for possible errors or the consequences thereof.
Trademark Policy. Novell, the Novell logo, the N logo, SUSE, openSUSE, and the SUSE “gecko” logo are trademarks and registered trademarks of Novell, Inc. in the United States and other countries. Linux is a registered trademark of Linus Torvalds. All other third party trademarks are the property of their respective owners.
Contents
Abstract
This document contains SUSE-specific style and layout issues and writing guidelines. It identifies and describes several issues to standardize the style of SUSE and openSUSE documentation. This document also contains a reference part for the XML markup used by the SUSE editors and intended for openSUSE projects, such as Lessons for Lizards.
This document refers to the following documents:
The Chicago Manual of Style, 15th Edition
Norman Walsh's DocBook: The Definitive Guide (TDG)
It is important to maintain a relatively consistent structure within a document. This structure may vary for different books or projects. For consistency, each project should have its own guidelines offered here, in a separate project document, or through templates.
The standard base structure of LfL is reflected in its template. Find the template in LfL's SVN. The project is still in development stages. Once the project is more stable, guidelines will be added here.
A SUSE manual consists of the following mandatory elements: title page, copyright notice, table of contents, preface, and chapters split in sections. Optionally, use parts, appendixes, a glossary, and an index, if appropriate. Find descriptions and usage of these elements in the following list.
The title page contains logo, title, and subtitle.
The second page (imprint) lists edition, copyright notice, and the names of all contributors to the manual. Enter the names in the following files:
authors-chapters.xml
List authors.
authors-trans.xml
List all translators who worked on the manual.
authors-office.xml
List the members of the documentation department who wrote and edited the manual. This file is only used in internally-produced documentation.
The table of contents is generated automatically.
The preface of a book contains a brief overview of the scope and content of the manual, information about how to read it, and typographical conventions.
Parts structure a manual with many chapters to improve the usability of a book. Use nouns as part titles and keep them clear and concise. Some typical part titles would be “Installation” or “Network”.
Chapters typically consist of the following elements (appendixes may be regarded an exception):
Figure 1. Structure of a Chapter in SUSE Documentation (* for optional element)
chapter | +--- title | +--- abstract | +--- section . | . +--- introductory text . | . +--- procedure environment* . | . +--- subsection . . . . . . . +--- subsection . | . +--- troubleshooting* . | . +--- for more information* . +--- troubleshooting* | +--- for more information*
The abstract should provide a brief summary of the information provided in the chapter. Rather than writing about what the chapter does, summarize the information the chapter contains. This gives the reader a clear idea of what he or she can learn by reading the chapter. Example 1, “An Example Abstract” is an example abstract from the chapter about file systems.
Example 1. An Example Abstract¶
openSUSE 10.2 ships with a number of different file systems, including ReiserFS, Ext2, Ext3, and XFS, from which to choose at installation time. Each file system has its own advantages and disadvantages that can make it more suited to a scenario. Professional high-performance setups may require a different choice of file system than a home user's setup.
Any introductory information follows directly after the abstract and should not be placed in a separate section.
Structure the detailed information in sections for better user orientation and to allow the experienced user to find the desired aspect of the topic easily.
Create sections in analogy to the main tasks, like installing, configuring, monitoring, and administering. If helpful, split sections into subsections. Sections start with an introductory paragraph outlining the focus of the section. If the section works with a sequential task, you can follow this introduction with a procedure description, as discussed in Section 3, “Creating Procedures”, which clearly states all the necessary steps to accomplish a task. Experienced users familiar with the topic can follow this brief sketch. For less experienced readers, each step of the procedure can contain a link to a subsection where the necessary background is provided and the action explained in more detail. In HTML and PDF online documentation, these links are clickable, providing easy access to the additional information.
If you know of common mistakes, pitfalls, or problems a user might encounter in this situation, list them in this section. Use the title “Troubleshooting” for all these types of sections in all manuals. Structure the section in a symptom and solution pattern.
As described in Section 2.2, “Addresses”, this section contains links to all sources of information that might prove helpful in the given context. Follow the general referencing guidelines in Section 2.7, “Cross-References and References to External Resources” when creating this kind of section.
The optional glossary contains important terms in alphabetical order and provides a brief explanation.
These rules are intentionally kept brief and simple. They contain specifics related to SUSE and openSUSE documentation and sometimes standard English rules. Where relevant, specific markup may be mentioned to assist in maintaining consistency in SUSE documentation.
Most abbreviations may not be used. “etc.” may be used in parentheses and some rare instances, but not in combination with phrases like “for example” or “such as.” It should be followed by a comma.
Abbreviations of common units of measure may also be used. Do not create
a plural of these abbreviations by adding an “s.” Use a
nonbreaking ( ) space between
the numeral and multiple-letter abbreviations. Do not use a space before
single-letter abbreviations.
A header must not contain both the acronym and the meaning. Common acronyms can be used in the header and written out in the following text.
Once the acronym has been presented in the written out form, use the acronym version in the rest of a chapter. Because sometimes chapters and parts are used in different documents, it is important to map acronym and meaning at least once per chapter. Be consistent with this mapping. If you use the acronym followed by the written out form in one chapter, try to do this in all others.
Form plural forms of acronyms by adding a lowercase “s,” for example, “CDs” and “BIOSs.” Because some rare acronyms create plurals by adding “'s,” avoid using possessive forms of acronyms for reasons of clarity.
SUSE documentation contains “For More Information” sections
at the end of most chapters to point to further sources of information
regarding the topic. Whenever possible, links and addresses are grouped
there and presented by means of a variablelist
environment (link plus explanatory remarks). Do not use a list
environment for only one link.
If you need to present a large number of links, group them by topic and create a separate list environment for each group. Provide a comprehensive title for each of the groups or an introductory sentence.
Translators are normally provided with localized versions of links in the comments of the source code. If none is provided, the English default is used as fallback.
You can provide links or addresses directly in the main sections, but are encouraged to use and refer to the “For More Information” section wherever possible. Both automated checks and the use of editor comments for translators ensure that the links are kept up-to-date.
For detailed information about external and internal references and addresses in SUSE documents, refer to Section 2.7, “Cross-References and References to External Resources”.
SUSE uses four different kinds of admonitory and advisory paragraphs. Because these elements are formatted in a way to draw the reader's attention to them, their use should be limited to specific situations. Additionally, avoid using more than one per page.
warning
These elements warn of security issues, potential loss of data, damage to equipment (hardware), or physical hazards to the user. A warning must always precede the action to which it applies. A typical example of a warning used in SUSE documentation is:
Example 2. A Typical Example of a SUSE Warning
<warning>
<title>Creating File Systems</title>
<para>
Formatting may take up to several hours depending
on the partition size. Do not try to interrupt
this process. This could result in a corrupted file
system that renders the installation
unusable. Proceed with the installation after
formatting has been completed.
</para>
</warning>A warning consists of the warning headline, a title stating the action considered dangerous, followed by a descriptive paragraph explaining the nature and origin of the danger. Clearly state what could happen if the reader ignored the warning. Finally, tell the reader how to avoid the dangerous situation.
important
These elements introduce vital information that deserves particular
attention. Similar to the warning element,
important includes a title stating the topic
covered in the following explanation.
tip
A tip is used to introduce guidelines or tips that
are helpful to the user. Using an appropriate title is strongly
recommended.
note
The note element is useful for emphasizing
information that differs from previous versions, providing important
information that does not fit into the paragraph, and pointing out
architecture-specific information. Using an appropriate title is
strongly recommended.
It is generally not necessary to describe the intended audience in the text, but keep it in mind when writing the document. Adjust the tone, style, and technical level of the text based on the intended audience. Do not insult them by saying something is obvious.
Aim the document at the reader by describing tasks the reader may need to complete rather than the organization of the program. For example, when describing YaST, focus on how to configure the devices and services the user needs rather than the module structure and available dialogs.
Try to focus on the positives: what the program can do rather than its limitations. Be honest in your documentation and avoid absolutes and the exaggerations of marketing-speak.
Use title-style capitalization for all types of headings and titles, including figure and table titles. This style is explained in Chicago 8.167.
This style can be very complicated to implement, but the following these simple rules is a good start:
Capitalize the first word no matter what it is
Capitalize all major words
Lowercase the, an, a, and, but, for, or, nor, to, and as
Lowercase prepositions, such as up, in, down, and of
Capitalize the last word
In variable lists, capitalize the term in title-style unless it is a complete sentence. In all list items, use sentence-style capitalization (capitalize the first letter and proper nouns only). Use title-style for row and column labels in tables.
SUSE and openSUSE documentation does not normally permit the use of contractions. Contractions are only permitted in casual documents and texts. A good example of appropriate use of contractions is the SuSE tour that was included in older releases. It provided a friendly and somewhat humorous introduction to applications and was aimed predominantly at the the home user.
Use xref when you refer to an appendix, chapter,
part, preface, section, table, figure, or example. The referenced
element needs an id attribute. When
referencing these elements, do not insert a text label like
“appendix”, “chapter”, “part”,
“preface”, “section”, “table”,
“figure”, and “example”. These are inserted
automatically.
Do not insert a reference to a paragraph (para). If
you need a reference to a list, insert id and
xreflabel.
References to man pages and info pages should generally be made in the format “the man page of command” or “the info page of command”. In a situation where the category of the page is needed, add “(man 9 command)” to the end.
Use ulink for a URL, like
http://www.suse.de. Always use the correct protocol
prefix (http, ftp, mailto) to enable the automated link check. Never use
filename for this kind of link. Anything that should
show up as a clickable link in the final HTML and PDF docs must bear the
correct markup. Otherwise risk breaking the link checking tools and rob
the user of extra functionality, such as click to reach extra external
documents. Do not enter a text label for the ulink so
that the URL itself appears in printed versions.
Do not use ulink and the file:
prefix to reference filenames. Use filename for
files.
Do not use links across documents where ID and IDREF linking is not
possible and ulink is inappropriate. For references
to information in SUSE books outside the current document set, use the
appropriate macro for the book title. The reference should not refer to
a specific chapter or section number or title because these things
change too easily. Instead, make a reference using the document title
but no specific headers.
Insert references to external (not SUSE or openSUSE) books in the format
"Title by Author (ISBN #)." Inclusion of the ISBN is optional. Place the
title in citetitle tags. For example:
<citetitle>Indexing Books</citetitle> by Nancy C. Mulvany (ISBN 0-226-55014-1) is a useful guide for indexing.
It is useful to provide language-specific references in the translated books. If the authors know of language-specific versions, they can include them in comments to the translators. As time permits, translators should look for corresponding language-specific resources. For URLs, provide only the language-specific version of a site. Use the English as a fallback. For books, provide the title of the translated version along with the original title if such a translation exists.
Refer to Chicago 5.43, 5.51, and 5.78 for suggestions of how to avoid gender bias. Basically, rewrite the sentence to avoid indications of gender. If possible, use plural to allow use of “they” as the pronoun. If these attempts fail, use “he or she.”
For example users, use the various mascots, like Tux, Geeko, and Wilber.
Screen shots and graphics should only be used when helpful for following the explanation. Using too many screen shots can confuse the reader even more. If you intend to use screen shots in a document, consider the following issues first:
A screen shot should illustrate a complex situation where the user cannot easily follow the text otherwise.
Do not use screen shots of confirmation pop-ups, progress bars, and other widgets that do not require user action and do not provide crucial information.
Do not illustrate every step of a procedure with a screen shot. In most cases, selecting a few screen shots to show the most important dialogs or choices during the whole process is sufficient.
If you intend to use graphics in documentation, think of the following issues first:
KISS (keep it short and simple). Custom graphics should always simplify complex issues and not confuse the reader by their complexity. Embedding too much text in the graphic adds to the complexity. Use as little text as possible and be aware of localization issues, such as differing lengths of strings in different languages.
Provide an appropriate reference in the text. The layout process should make an effort to ensure that figures are not placed too far from the related text.
Callout numbers are only printed if there are 10 or fewer per example. Using more than 10 would be distracting.
Example 3. A Configuration File with Callouts¶
For details on the markup of this element, refer to Section A.3.3, “Callouts”.
Like figures and screen shots, examples are used to illustrate complex processes. Most of the rules established for the use of these elements in Section 2.9.1, “Graphics and Figures” also apply to examples.
If you intend to use examples, consider the following:
Examples are used to present long commands and their output, lines of code, configuration files, excerpts of configuration files, and output, such as system messages.
Make sure that the example is crucial to the understanding of the process as a whole. Like figures and screen shots, examples stick out from the text and are distracting when overused or used improperly.
If you need to present just a function or application call on the command line, it is normally sufficient to do so inline. However, if you need to feature both a command and its output on screen, use an example environment.
Example 4. Calling ps to Get Process Information¶
ps -xa
5170 ? S 0:00 kdeinit: khotkeys
5172 ? S 0:02 kdeinit: kdesktop
5174 ? S 0:04 kdeinit: kicker
5177 ? S 0:00 kdeinit: kpowersave
5179 ? S 0:00 kdeinit: klipperThe example environment should contain both a title and an ID to enable referencing and easier coordination with the text.
For details on markup, refer to Section A.3.2, “Examples”.
Each level of heading should have two or more headings. Lonely subheadings are not allowed. Make headings in a group parallel by using a similar structure for the wording.
Keep headings short and simple. Do not use both an acronym and the written-out form in a heading.
Provide content between a heading and its subheadings. In some cases, this is only a small paragraph of introductory information. In other cases, more information can be provided.
SUSE and openSUSE documentation uses the following types of lists (the respective XML tags are given in parentheses):
itemizedlist)See http://www.docbook.org/tdg/en/html/itemizedlist.html for details of markup.
orderedlist)See http://www.docbook.org/tdg/en/html/orderedlist.html for details of markup.
variablelist)See http://www.docbook.org/tdg/en/html/variablelist.html for details on markup.
Consider the following general rules when creating or editing list environments:
List environments should be used cautiously. Their markup is quite distinct and overusing them might disrupt the text flow.
Always introduce a list in the text. If needed for reference or better
coordination with the related text, add an optional title and an
id attribute.
A list must contain at least two items. If items are short and simple in structure, consider incorporating them in the flowing text instead of creating a list environment.
Use sentence-style capitalization for the list items. Use title-style capitalization for terms in descriptive lists.
If using multiple sentences as a list item, end all items in that list with a period.
Make sure that the items are grammatically parallel constructions providing a pattern that makes it easier to follow the text.
The different types can be nested, but avoid nesting too many levels. When nesting different types of lists or introducing multiple levels of one type, always consider the flow of the text. It is rarely necessary to have more than one level in a list. Using too many levels disrupts the text flow, confuses readers, and heavily influences the document layout. Consider these issues carefully before nesting lists or introducing another list level. Restructuring the information using a well-balanced combination of lists and flowing texts may prove a good approach.
Bullet lists are often used to provide an overview of information or to introduce or summarize information. They should be used when the order of list items is irrelevant.
If needed, assign an id attribute
to an itemized list and add a title to reference it. Individual list
items may be referenced by assigning an
id and an
xreflabel attribute. The entry is
then identified by the value of id
and the value of xreflabel is
printed as the label of this item. See
Section 2.7, “Cross-References and References to External Resources” and
Section A.4.6, “Referencing” for detailed
information.
The following example of an itemized list is from a “For More Information” sections.
Use numbered lists when items have a strict order, hierarchy, or importance. If order is not relevant, use a bullet list or a descriptive list. Do not use numbered lists to describe procedures. Complex sequential actions are better described by means of the procedure environment (see Section 3, “Creating Procedures” for a detailed description).
If needed, assign an id attribute
to a numbered list and add a title to it in order to reference it.
Individual list items may be referenced by assigning an
id and
xreflabel attribute. The
entry is then identified by the value of
id and the value of
xreflabel is printed as the label
of this item. See Section 2.7, “Cross-References and References to External Resources” and
Section A.4.6, “Referencing” for detailed
information.
Example 6. A Numbered List¶
The machine's network is configured properly.
The machine's exact system time is maintained by synchronizing with a time server. This is necessary because parts of the HTTP protocol depend on the correct time.
The latest security updates are installed. If in doubt, run an online update.
The default Web server port (port 80) is opened in the firewall. For this, configure the SUSEFirewall2 to allow the service in the external zone. This can be done using YaST.
Use descriptive lists when defining terms or describing options. Each item of a descriptive list contains a short term that is then further explained by means of an explanatory paragraph.
Use title-style capitalization for the term. Use sentence-style for the list item.
You may assign an id attribute to
the list and add a title to it in order to reference it. Individual
list items may be referenced by assigning an
id. The entry is then identified
by the value of id and
referenced by the term.
Example 7. A Descriptive List¶
This book consists of several parts:
Learn about the installation and initial configuration of a Linux system.
Get a basic understanding of the system components.
Follow Chicago 9.6 for numbers. This is basically to write out single-digit numbers (0–9) and use numerals for all others. For measurements, always use numerals when an abbreviation is used for the unit.
Do not use possessives of acronyms and trademarked terms. Unless use of a possessive with an inanimate object improves the clarity of a sentence, avoid inanimate possessives.
Use commas between all items in a series. For example, write “a, b, and c.” Use commas around phrases like “for example” and “that is.” Introductory phrases in the beginning of a sentence are normally followed by a comma. For example, “Before using YaST Online Update, configure a network connection.”
Semicolons (;) are mainly used to join two independent but related sentences. They can also be used in place of commas in a complicated series. It is preferable to avoid them when possible and instead break the text into smaller pieces.
em dashes (—) are punctuation dashes. Use them
sparingly and do not surround them with spaces. en dashes
(–) should be used between numbers in a range
in tables and figures. Also use them for a hyphenated term when a
two-word term is part of the hyphenated term (file
system–specific). Additionally, use them as the symbols for minus
signs.
Do not use slashes except when they are part of a standard technical term, such as TCP/IP or client/server. Avoid the use of exclamation marks (!).
Keep sentences clear and direct. Avoid complicated clauses and try to keep sentences short (under 20 words). Avoid joining sentences with semicolons (;) if they can be as easily understood as two independent sentences. Make sure that the relationship between subject, verb, and object are clear. Avoid ending a sentence with a preposition where reasonable.
Use tables to present a large number of similar facts. A table makes them easy to scan and compare when presenting the same information textually would require several paragraphs.
Always keep tables as simple as possible. They should not require extensive explanations in the related text and should make sense even to those readers who are not very familiar with the topic.
A table always has a title. If you assign an
id, it can be identified and
referenced by this attribute.
Value and description pairs are better handled by means of a descriptive list.
Example 8. A Typical Table in SUSE Documentation¶
Maintain a professional tone. Except in casual documents, do not use contractions. Do not use humor. It does not translate well and may be misunderstood by nonnative speakers.
Use second person (you) to refer to the reader. Normally the reader is the user or administrator that does the actions described. Do not overuse “you.” It is often understood, especially in directions.
Use active voice. Active voice means that the subject of the sentence performs the verb. For example, “The root user performs administrative tasks” is active voice. “Administrative tasks are performed by the root user” is passive voice. Passive voice can be used occasionally if there is a need to place emphasis on the object of the verb or if the doer of the action is unknown. “A SAMBA server must be configured in the network” is an example of proper use of passive voice. The emphasis is on the server, not on the person configuring it.
Use the simple present tense in almost all cases. This also applies for sentences with “if” or “when” clauses. “If you do this, something happens.” “When you do that, something else happens.”
Procedures are used to describe a task. A procedure consists of several steps that are usually performed sequentially. A procedure environment consists of the following elements:
An optional title. If you need to reference the procedure as a whole,
set an id. The title is then
used as the label of the reference.
An introductory phrase establishing the purpose of the procedure. If necessary, add the preconditions of the operation.
Steps and substeps describing what the reader must do. If needed, add an explanatory paragraph, but keep it short. Do not use only one substep in a step or one step in a procedure.
Alternative actions are introduced by a substep environment containing
two steps linked by “or.” Each optional step must have a
performance attribute set to
optional.
Procedure 1. Adding Users with YaST¶
To add new users to a Linux system, perform the following steps:
Start the YaST module (+)
Set the filter (type of users).
Add the first user:
Click to enter the dialog.
Enter the user data and click .
Repeat this procedure for each user to add.
After the last user has been added, leave the YaST module by clicking .
If you need to structure complex tasks, procedure environments are a means to provide an overview of the whole task and its sequential character. Introduce the steps, substeps, and alternatives by a procedure environment. A step may contain a link to an explanatory subsection providing further details on the step.
When documenting software, it is frequently necessary to describe the software and how to interact with it. The way to do this has been standardized for consistency.
Only specify the software component in ambiguous context. Only put literal user input or output on a separate line when it is too long to be included in the flowing text or is a line that must be added to a file.
When referring to an application, do not use any markup at all:
OpenOffice.org is a powerful open source office suite.
Linux commands are case-sensitive, so always present them as they appear
in the system. Commands can be embedded in the flowing text or presented
as part of screen environments or examples. In flowing text, use
command when referring to an actual command you would
use on a command line:
Use OOo to start OpenOffice.org from the command line.
Place options inside the command tags. Options can also be used in text,
separately from command. See
Section A.4.3, “Commands and Options”.
Do not use any markup for commands as part of a
screen environment. Anything inside this environment
appears verbatim.
There are currently two different kinds of variable environments used in SUSE documentation:
Substitutable contents that the user should replace with appropriate values. For example:
To list the contents of a directory, execute ls dir.
References to names of variables rather than to their value. Example:
To select another display manager, start the YaST
sysconfig editor and change the value of
DISPLAYMANAGER.
SUSE uses the standard elements and transformations offered by DocBook V. 4.3 and the current XSLT stylesheets by Norman Walsh. For details on key markup, refer to Section A.4.1, “Markup of Keys”.
Always use the capitalized version of characters, because this is how they are printed on the keyboard. If you need to refer to a capitalized character, use Shift+Z, for example. Introduce this convention by means of the “Typographical Conventions” section of the introduction.
With DocBook V. 4.3, the localization of the identifiers for both
modifiers and special keys is handled by DocBook itself. Just use the
keycap tag and an appropriate
function value. Find details in
Section A.4.1, “Markup of Keys”.
When using labels of GUI elements, do not include ending punctuation
like ... or :. Whenever possible,
refer to the elements without identifying them as a special type of
dialog element. For example, use “Click
” rather than “Click the
button.” However, some situations require
a more specific wording, for example, if a dialog has many different
graphical elements.
For detailed instructions for the appropriate markup, especially concerning buttons, labels, and menu structures, refer to Section A.4.2, “GUI Menus”.
SUSE documentation is limited to describing the Linux operating system and open source applications. The following sections summarize the common naming and markup principles that apply to SUSE and openSUSE documentation.
Linux does not know any drive names. Under Linux, everything is considered a file (even a directory is considered a special kind of file). Therefore, the naming and markup conventions are the same for “drives” (for example, hard drives, CD-ROM drives, or floppy drives), directories, or files.
The layout for filenames and directory names is the same. See the following example:
Open the file suseconfig under /etc. Access an USB
flash drive via /media/usb-xxx-yz.
Use slashes properly when dealing with file and directory names:
Use a leading slash to indicate that the directory is reached from the root of the file system. If the directory lies below the current working directory, do not use a leading slash.
Do not use a trailing slash to distinguish between a file and a directory. When differentiation is needed, provide it textually.
Linux is a case-sensitive operating system, so use capitals exactly as they appear in the file system. For details on markup, refer to Section A.4.5, “Directories and Filenames”.
Writers should use a well-defined set of IP addresses, hostnames, and usernames for their network documentation. The values are provided by means of entities (see Section 5, “Entities”).
Currently, we are using only a class C net (netmask 255.255.255.0) for our examples. To create examples using a larger setup, select addresses from the private network ranges.
SUSE uses
www.example.com
as a domain for most examples, because this is a real domain that
was designed for use in documentation. Hostnames are taken from the
solar system (such as sun or
earth).
SUSE currently uses mascots like
geeko,
tux, and
wilber as example users.
Entities are a kind of “macro” in XML, but only with text expansion capabilities. They are used for several purposes:
Representation of characters that cannot be displayed or entered otherwise.
Integration of external files by entities representing references to their filenames.
Text expansion to any content that is needed.
Once an entity is defined, it can be used everywhere. Entities reduce the risk of translation errors and increase consistency because they are translated once and automatically expanded elsewhere.
SUSE uses a small set of custom entities. This set is localized for each
supported language. Find the SUSE set of entities in the file
entity-decl.ent under each documentation project
and each language. When the set has been modified for a new product
release, this file must be updated in the supported languages as well.
Each header of a SUSE XML file includes the entity declaration file (by means of an entity):
<!ENTITY % entities SYSTEM "../entity-decl.ent"> %entities;
Example 9. Excerpt from a SUSE entity-decl.ent¶
A few hints for working with entities in SUSE documentation projects:
If there should be any need for defining special entities (for
example, for localization purposes), add the new definitions to the
appropriate entity-decl.ent file. Never include
these definitions in the file header.
Always check with the documentation team
members before introducing new entities.
When translating entities, translate the value, but never change the entity name (see Example 9, “Excerpt from a SUSE entity-decl.ent”).
Always use the exact notation of the entities when translating files to avoid processing errors.
Make sure that you use proper UTF-8 encoding when editing and saving the entity declaration file or any of the SUSE XML files.
The following provides some background on the most important entities
used in creating documentation for SUSE products. To be able to adjust
product names of platform branding even past any deadlines, a set of
entities must represent the frequently-changing product names. The same
applies to book titles. An entity-decl.ent file
contains several different categories of entities. These are:
These feature mostly network IP addresses, hostnames, and usernames.
If possible, any book created by our team has a title entity in case sudden changes are necessary.
To avoid touching our content whenever a hardware vendor rebrands its products, we use entities for all hardware architectures referenced in the books.
We maintain a list of entities of all SUSE-based product names and some other products and applications for which we write documentation.
There are several guidelines to consider when working with product entities for SUSE documentation:
SUSE uses &product; to identify the product
for which the documentation is built (the text applies to any
product). The value of this entity is set once per release and
expands to the name of the current product.
If you need to reference a particular product, use the specific entity (plus version if necessary).
Example 11. Context-Based Use of Entities
The ext2 file system has been included in the
&suse; kernel since
&suselinux; XYZ.
![]() | Trademarks and openSUSE |
|---|---|
At this point, only internally-produced documentation is required to follow the trademark guidelines. These rules can be skipped for documentation produced by the openSUSE community. | |
Any Novell product referenced in our documentation is trademarked one way or the other. Currently we have entities for SLES, SLED, openSUSE, and the obsolete SUSE Linux stuff. Adhere to the following rules when dealing with these terms:
Never use trademarks in headings.
Only use the trademarked version on the first occurrence of the product's name in a chapter.
Product entities carrying any sort of trademark end in
®.
![]() | Acronyms and openSUSE |
|---|---|
At this point, only internally-produced documentation is required to follow the acronym guidelines. These rules can be skipped for documentation produced by the openSUSE community. | |
Avoid using acronyms for products because they are not the proper
product names. However, there might be occasions where you just need
to have an acronym. In these cases, use the acronym entity that
always ends in a;, such as
&sleda; or &slesa;.
An index is one of the most important parts of a book. Index terms should be used to provide the reader with access to useful information. Insert the term as close to the relevant text as possible to ensure that the page reference points to the correct location. When more than a few paragraphs contain information that should be indexed under this term, use a page range. A user referring to the index can then get a quick overview of how much information is provided at the different locations and have a better chance of finding needed information quickly. Up to three levels of index items can be used.
Only index text that really provides useful information to the reader. For example, a section about configuring an application should be indexed to the application, but a passing reference to the application should not be indexed at all. Try to think like a potential user of the manual. Is a user likely to be looking for that information? Some examples of things that should not be indexed include “For More Information” sections, things mentioned in the abstract of a chapter (index where it is actually discussed, not where it is mentioned in the abstract), and a command used for some other purpose (do not index cd where it is used to change directories as part of a procedure, but do index a section discussing appropriate usage of the command itself).
Select the terms to use carefully because consistency is important. Write nouns in the plural and verbs in a gerund form (-ing). Capitalize terms only if they would be capitalized if used in the middle of a sentence.
When selecting terms, try to consider what else is included in the manual. If the manual only includes a small amount of information for the topic, general index items are probably more appropriate. If indexing a chapter about an application, much more specific index terms are needed so the user can find exactly the information he or she needs. Also consider that the user might not know what something is called. It is not helpful only to index Konqueror under its name if the user might want a Web browser and not know what applications function as a Web browser. In a case like that, you may need to index general information both places.
If you have time when working on indexing, check the built index to see how well your terms integrate with existing items. Try to make your terms consistent with other items used. A final index “polishing” of an entire index is part of the editing and layout process. A few tips for evaluating and adjusting the index of an entire document:
If a term has six or more page references, check those references and see if it is possible to create subitems.
If a term has only a single subitem (or a subitem has only a single sub-subitem), consider deleting the subitem.
Check for spelling errors or inconsistencies that result in multiple items in the index.
If there are copious third-level entries or third-level entries with too many references, consider adjusting the index structure to use a more specific primary term.
Check all see and see also references for consistency. An item should not have both a page and a see reference. Page references and see also together is acceptable but should be used sparingly.
Example 12. A Plain Index Entry¶
<para>
To configure DNS<indexterm>
<primary>DNS</primary>
<secondary>configuring</secondary>
</indexterm> use ...
</para>Example 13. An Index Range¶
<indexterm class="startofrange" id="idx.Installation"> <primary>installing</primary> </indexterm> ... <indexterm class="endofrange" startref="idx.Installation"/>
Example 14. A See Index Entry¶
<indexterm>
<primary>installing</primary>
<secondary>boot loaders</secondary>
<see>GRUB</see>
</indexterm>An optional glossary contains terms and their definitions. Make sure that the glossary entries are appropriate to the intended audience. Define unfamiliar terms and specialized jargon.
Define infinitive forms of verbs and singular nouns. Use lowercase for the term unless it is a proper noun.
Use cross-references to link acronyms with their written out forms. Define the written out form. Use a See reference for the acronym form to link it to the defined written out form.
The markup for a glossary entry is shown in Example 15, “A Typical Example of a Glossary”.
Example 15. A Typical Example of a Glossary¶
<glossary>
<title>Glossary</title>
<glossdiv>
<title>D</title>
<glossentry>
<glossterm>DocBook</glossterm>
<glossdef>
<para>
DocBook provides a system for writing structured documents
using SGML or XML. It is particularly well-suited to books
and papers about computer hardware and software, though it
is by no means limited to them.
</para>
</glossdef>
</glossentry>
</glossdiv>
</glossary>
Because multiple spellings of a variety of words and terms are in common usage, we have standardized on a variant to use in our documentation. Terms in this table are capitalized as they would be in the middle of a sentence. Some words listed here are provided because they are often written incorrectly by nonnative speakers. For words not listed here, Merriam-Webster's Collegiate Dictionary, Eleventh Edition is considered authoritative.
Table 1. Terms Common in SUSE Documentation
| Word or Phrase | Usage Guideline |
|---|---|
| 3D | no hyphen, capitalize D |
| 32-bit | hyphened, lowercase B |
| address book | two words |
| advice | noun |
| to advise | verb |
| back-end | hyphenate |
| back up | verb |
| backup | noun |
| Bash | capitalize according to the GNU Bash manual |
| boot disk | disk for starting the system |
| boot loader | two words |
| cannot | one word |
| case-sensitive, case-insensitive | always hyphenate |
| certificate authority | acronym is CA; not “certification authority” |
| check box | two words |
| checklist | one word |
| check mark | two words |
| chipset | one word |
| client/server | a slash is accepted here |
| command line | never hyphenated |
| control center | a generic term as in the YaST control center or the KDE control center |
| deselect | verb |
| DHCP | capitalized |
| dial-up | use only as an adjective |
| DNS | do not use DNS name server; capitalize the acronym, but lowercase the expansion |
| double-click | hyphenate, do not use with “on” |
| always hyphenated | |
| Ethernet | capitalized |
| facilitate | avoid using |
| filename | one word |
| file server | two words |
| file system | two words |
| flavor | use AE |
| framebuffer | one word |
| front-end | hyphenate |
| The GIMP | project standard for application |
| GNOME | project standard for the desktop |
| GRUB | capitalize |
| GUI | capitalized |
| hard disk | two words |
| hard link | two words |
| have to | use "need to" or "must" instead |
| home page | two words |
| hostname | one word |
| hotplug, hotplugging, hotpluggable | note spellings |
| HTTP | capitalize |
| hypervisor | one word, lowercase |
| infrared | one word, no hyphen |
| installation source | correct term for valid sources of installation data for SUSE Linux and openSUSE; when reasonable, mention that online repositories that are valid installation sources are available |
| Internet | capitalize first letter |
| intranet | lowercase |
| I/O port | slash in I/O |
| IPsec | note capitalization |
| journaling | one L |
| Kdump | capitalize if application |
| kdump | lowercase if command |
| Kernel | capitalize |
| Kprobes | capitalize if application |
| kprobes | lowercase if command |
| left-click | hyphenate, do not follow with “on” |
| license, licenses | use AE |
| local host, localhost | normally two words, one word for default name of the local host |
| log file | two words |
| log in, log out, login | two words for verbs, one for noun; do not use “log on” or “log off” |
| log in to | not "log into" |
| loopback device | loopback is one word and not hyphenated |
| mail server | two words |
| Maildir | note capitalization; this is a specific format, not a generic reference to the directory in which mail is stored |
| mainboard | one word |
| man page | two words |
| Mbox | note capitalization |
| metadata | one word |
| middle-click | hyphenate, do not follow with "on" |
| Monitoring | capitalize |
| mount point | two words |
| mouse button | a mouse has buttons, not keys |
| multitasking | one word, no hyphen |
| multiuser | do not hyphenate |
| name server | two words |
| NFS | an NFS server, an NFS client, etc. |
| NIS | a NIS client, a NIS server, etc. |
| paravirtualized | one word |
| pathname | one word. can often be replaced with “path” |
| plug-in | hyphenate noun or adjective |
| pop-up | hyphenate |
| port | on port (not “at port”) |
| PostScript | use this capitalization |
| pre-configured | hyphenate |
| print queue | print not printer |
| print spooler | print not printer |
| proxy | use as a noun only |
| RAM disk | two words, note capitalization |
| README | Use all caps for general references because this is the most common form in Linux; use file's capitalization for specific references |
| read-only | hyphenate |
| reconfigure | one word, no hyphen |
| re-create | hyphenate |
| right-click | hyphenate, do not follow with “on” |
| RPM | capitalized |
| runlevel | one word |
| runtime | one word, no hyphen |
| screen shot | two words |
| screen saver | two words |
| SCSI | an SCSI device |
| set up, setup | two words as verb; one word as adjective or noun |
| to shut down, shutdown | two words as verb; one word as adjective or noun |
| slider | not slidebar or other variations |
| spec file | two words |
| SSH | capitalized |
| stand-alone | hyphenate |
| start-up | hyphenate |
| status bar | two words |
| tarball | one word |
| taskbar | one word |
| TFTP | capitalized |
| time stamp | two words |
| title bar | two words |
| toolbar | one word |
| tool tip | two words |
| uninstall | no hyphen, never de-install |
| unselected | the state of not being selected |
| username | one word |
| utilize | use “use” |
| virtualization | lowercase |
| VLAN | capitalize |
| Web | capitalize first letter |
| Web page | two words |
| Web server | two words |
| Web site | two words |
| whether | do not add “or not” |
| wild card | two words |
| X Window System | do not shorten to X Windows, note capitalization |
| Xen | use this capitalization |
| Xend | capitalized |
| Zypper | capitalize if application |
| zypper | lowercase if command |
Use these standard comment and remark formats to simplify editing and translation.
Remarks are used for the majority of editorial comments. It is possible to have them be visible in the built document, improving the editing process. Remarks must be placed before or after a para but inside section tags.
Include a role to show the importance and type of
remark. Available roles and their uses are:
This type of remark is used for validation issues and questions and comments regarding markup (wrong tag, validation problems the commenter cannot resolve without help, etc.).
Use this for remarks related to the layout. For example, use it for comments suggesting a change in list type or those related to line break problems in the output.
Structural remarks relate to how the text is put together. It can be about content that should be placed elsewhere or the level of headings.
This role should be used when text is unclear or changes are proposed to improve the wording.
The author should use this role to report when he or she is waiting for information from a developer or other person or to request information.
Use this for comments to translators.
Use this role for all remarks that do not fit into one of the other categories.
The writer of the remark should start the remark with his or her username followed by a colon (:). Others responding to the remark should insert their username, a colon, and comments inside the tags but starting on a new line. Comments should be deleted by the original writer when they consider the issue resolved. The following is an example remark:
<remark role="needinfo">tux: couldn't find the option for foo geeko: see /usr/share/doc/foo.html</remark>
XML comments are primarily used for temporarily disabling portions of text. Because they can appear at any point in a file, they can also be used to point the reader of a remark to the appropriate point in a text.
The final use of comments is to mark changes made for layout reasons. The following is an example of a layout comment.
<!--layout tux: split para -->
![]() | Valid Comments |
|---|---|
Do not use | |