Edition 1.1
Mono-spaced Bold
To see the contents of the filemy_next_bestselling_novel
in your current working directory, enter thecat my_next_bestselling_novel
command at the shell prompt and press Enter to execute the command.
Press Enter to execute the command.Press Ctrl+Alt+F1 to switch to the first virtual terminal. Press Ctrl+Alt+F7 to return to your X-Windows session.
mono-spaced bold
. For example:
File-related classes includefilesystem
for file systems,file
for files, anddir
for directories. Each class has its own associated set of permissions.
Choose Mouse Preferences. In the Buttons tab, click the Left-handed mouse check box and click to switch the primary mouse button from the left to the right (making the mouse suitable for use in the left hand).from the main menu bar to launchTo insert a special character into a gedit file, choose from the main menu bar. Next, choose from the Character Map menu bar, type the name of the character in the Search field and click . The character you sought will be highlighted in the Character Table. Double-click this highlighted character to place it in the Text to copy field and then click the button. Now switch back to your document and choose from the gedit menu bar.
Mono-spaced Bold Italic
or Proportional Bold Italic
To connect to a remote machine using ssh, typessh
at a shell prompt. If the remote machine isusername
@domain.name
example.com
and your username on that machine is john, typessh john@example.com
.Themount -o remount
command remounts the named file system. For example, to remount thefile-system
/home
file system, the command ismount -o remount /home
.To see the version of a currently installed package, use therpm -q
command. It will return a result as follows:package
.
package-version-release
When the Apache HTTP Server accepts requests, it dispatches child processes or threads to handle them. This group of child processes or threads is known as a server-pool. Under Apache HTTP Server 2.0, the responsibility for creating and maintaining these server-pools has been abstracted to a group of modules called Multi-Processing Modules (MPMs). Unlike other modules, only one module from the MPM group can be loaded by the Apache HTTP Server.
mono-spaced roman
and presented thus:
books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs
mono-spaced roman
but add syntax highlighting as follows:
package org.jboss.book.jca.ex1; import javax.naming.InitialContext; public class ExClient { public static void main(String args[]) throws Exception { InitialContext iniCtx = new InitialContext(); Object ref = iniCtx.lookup("EchoBean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("Hello")); } }
Doc_Name
.ent
file (refer to Section 3.1.7, “Doc_Name.ent”).
Doc_Name
.ent
file's functionality, we are no longer considering requests to add functionality or features associated with entity use.
$
su -
$
yum install publican publican-doc
$
yum install publican-brand
brand
with, for example, redhat
, fedora
, jboss
, ovirt
, or gimp
. Refer to Chapter 4, Branding for more information on branding.
$
su -
$
yum install publican publican-doc
$
yum install publican-brand
brand
with, for example, redhat
, fedora
, jboss
, ovirt
, or gimp
. Refer to Chapter 4, Branding for more information on branding.
$
sudo apt-get install publican
Publican-Beta-Installer.exe
installer from http://jfearn.fedorapeople.org/beta/Publican-Beta-Installer.exe.
Publican-Beta-Installer.exe
.
Publican-Beta-Installer.exe
file.
Main
in the installer window) and the DocBook Data Type Definition (DTD) and DocBook Extensible Stylesheet Language (XSL) stylesheets. These latter two components are grouped under the common heading DocBook
in the installer window. Publican uses the DTD and the XSL stylesheets to render XML documents in other presentation formats (such as HTML and PDF). If you do not install these components, Publican must download this data from the Internet every time it processes a document, which creates lengthy delays.
Publican
within the %ProgramFiles%
folder of your computer — typically C:\Program Files\Publican
. You can manually edit the path displayed in the Destination Folder box to select a different folder.
Completed
.
cmd
command from the to open a command prompt.
publican global_option
global_option
is any of several options that display basic information about Publican or help for Publican in one of a number of formats.
publican action
options
action
is an action for Publican to perform, such as creating the XML files for a new document or building a HTML document from a document's XML files. The options
apply to the action
, such as specifying the language of a document.
--help
--man
--help
option supplies, in addition to information about licensing and dependencies.
--help_actions
-v
tmp/
subdirectory. The tmp/
subdirectory is created after running the publican build
command to build a document, such as publican build --formats=html --langs=en-US
.
Book_Name-title
. For example, a section with a title of First Section
in a book named Test_Book
will have the following ID after running make clean_ids
: <section id="Test_Book-First_Section">
make clean_ids
make clean_ids
uses the first four characters of the tag as a prefix for the ID. Consequently, you must check out the latest versions of the XML source and translations before running this command.
make clean_ids
, the XML and PO files will no longer in synchrony with each other. In this case, all links in the PO files must be manually updated.
publican.cfg
. Refer to Section 3.1.1, “The publican.cfg file” for more detail.
publican.cfg
file based on the Makefile
of a book, article, or set originally created with a developmental version of Publican (versions up to and including Publican 0.45). Refer to Section 3.4.1, “Building a document created with Publican 0” for more detail.
<xi:include>
tag in a book, article, or set.
publican create
command to create a new document, including all the necessary files for the document.
publican create
command. For example, publican create --help
, publican create --name New_Book
, and so on:
--help
publican create
command options.
--name Doc_Name
Doc_Name
with the name of the book or article. This variable must not contain any spaces. For example, the command create_book --name Test_Book
creates a book named Test_Book
with all the necessary files to build the book, and sets the BOOKID
in the Test_Book.ent
file.
--lang Language_Code
Language_Code
with the language code of the language in which the book or article will be authored. If you do not specify a language, Publican defaults to en-US
(American English). The --lang
option sets the xml_lang
in the publican.cfg
file. Refer to Section 3.1.1, “The publican.cfg file” for more information on publican.cfg
parameters and Appendix D, Language codes for more detail on language codes.
--version version
version
with the version number of the product that the book describes. For example, for Red Hat Enterprise Linux 5.1 you would use 5.1
. The default version is 0.1
. The --version
option sets the <pubsnumber>
tag in the Book_Info.xml
or Article_Info.xml
file. For more information refer to Section 3.1.2, “Book_Info.xml”.
--edition edition
edition
with the edition number of the book. This number indicates to users when a new edition of the book is released. The initial general availability (GA) release of the book should be edition 1.0
. The default value is 0
. The --edition
option sets the <edition>
tag in the Book_Info.xml
or Article_Info.xml
file. For more information refer to Section 3.1.2, “Book_Info.xml”.
--product Product_Name
Product_Name
with the product name. This variable must not contain any spaces. For example, set this to Fedora
for core Fedora documentation, and the name of the product for other products, for example, Fedora_Directory_Server
. The --product
option sets the <product name>
tag in the Book_Info.xml
or Article_Info.xml
and the PRODUCT
in the Doc_Name
.ent
file.
--type Article --name Article_Name
Article_Name
with the article name. This variable must not contain any spaces. The --type
option sets the type
in the publican.cfg
file. Refer to Section 3.1.1, “The publican.cfg file” for more information on publican.cfg
parameters.
--type Set --name Set_Name
Set_Name
with the set name. This variable must not contain any spaces. The --type
option sets the type
in the publican.cfg
file. Refer to Section 3.1.1, “The publican.cfg file” for more information on publican.cfg
parameters and to Chapter 5, Using sets for details on using sets.
--brand brand
brand
with RedHat, fedora, JBoss, oVirt, or GIMP. The --type
option sets the brand
in the publican.cfg
file. Refer to Section 3.1.1, “The publican.cfg file” for more information on publican.cfg
parameters. This option requires the appropriate Publican brand package to be installed. For example, to build Red Hat branded books, you must install the publican-redhat package. Refer to Section 4.1, “Installing a brand” for instructions on installing brand packages for Publican. If you do not specify a brand, Publican uses its built-in, default brand. Refer to Chapter 4, Branding for more information.
publican create
command, use the cd
command to change into the directory where you want the book to be created. For example, to create a book named Test_Book
in the my_books/
directory, run the following commands:
cd my_books/
publican create --name Test_Book
ls
en-US publican.cfg
publican create --name Test_Book --lang en-US
, Publican creates a directory structure and required files, similar to the following:
publican.cfg
en-US
(directory)
Test_Book.xml
Test_Book.ent
Revision_History.xml
Preface.xml
Chapter.xml
Book_Info.xml
Author_Group.xml
images
(directory)
icon.svg
publican.cfg
file configures build options, and is located in the root of the book directory. The following is an example publican.cfg
file, with a description of publican.cfg
parameters following afterwards:
# Config::Simple 4.59 # Mon Sep 28 16:38:14 2009 xml_lang: en-US type: Book brand: common
xml_lang
en-US
, as set by the --lang
option for publican create
.
type
<article>
, DocBook <book>
, or DocBook <set>
, as set by the --type
option for publican create
.
brand
RedHat
, fedora
, JBoss
, oVirt
or GIMP
, as set by the --brand
option for publican create
. If you do not specify a brand, Publican uses its default brand. Refer to Chapter 4, Branding for more information.
arch
arch: x86_64
in the publican.cfg
file, Publican will only include XML elements tagged with the equivalent attribute, such as <para arch="x86_64">
.
arch
can cause great difficulties when translating documents. Refer to Section 3.6.1, “Conditional tagging and translation” for an explanation of the issues.
arch
attribute, your document will not build, because empty files are not valid XML. For example, if Installation_and_configuration-PPC.xml
contains a single chapter:
<?xml version='1.0' encoding='utf-8' ?> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <chapter id="chap-Installation_and_configuration_on_PowerPC" arch="PowerPC"> <title>Installation and configuration on PowerPC</title> [text of chapter] </chapter>
User_Guide.xml
with an <xi:include>
tag, the document will not build with condition=x86
set in the publican.cfg
file.
arch
attribute to the <xi:include>
tag in User_Guide.xml
, not to the <chapter>
tag in Installation_and_configuration-PPC.xml
.
<xref>
points to content not included in the build due to the arch
attribute, the build will fail. For example, with arch: x86
set in the publican.cfg
file, publican build --formats=pdf --langs=en-US
will fail if the book has the tag <xref linkend="Itanium_installation">
pointing to <section id="Itanium_installation" arch="IA64">
.
books
brew_dist
docs-5E
. Refer to Section 3.5.2, “The publican package
command” and Section 4.4, “Packaging a brand” for more information on building RPM packages.
catalogs
/usr/share/publican/xsl
. On a computer with a Windows operating system, the default location is %SystemDrive%/%ProgramFiles%/publican/DocBook_DTD
— most usually C:/Program Files/publican/DocBook_DTD
.
chunk_first
chunk_first: 1
. Otherwise, the parameter defaults to 0
, and the first section starts a new HTML page.
chunk_section_depth
4
.
classpath
/usr
/share
/java
/ant
/ant-trax-1.7.0.jar:
/usr
/share
/java
/xmlgraphics-commons.jar:
/usr
/share
/java
/batik-all.jar:
/usr
/share
/java
/xml-commons-apis.jar:
/usr
/share
/java
/xml-commons-apis-ext.jar
common_config
/usr/share/publican
. On a computer with a Windows operating system, the default location is %SystemDrive%/%ProgramFiles%/publican
— most usually C:/Program Files/publican
.
common_content
/usr/share/publican/Common_Content
. On a computer with a Windows operating system, the default location is %SystemDrive%/%ProgramFiles%/publican/Common_Content
— most usually C:/Program Files/publican/Common_Content
.
condition
Installation_and_configuration_on_Fedora.xml
contains a single chapter:
<?xml version='1.0' encoding='utf-8' ?> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <chapter id="chap-Installation_and_configuration_on_Fedora" CONDITION="Fedora"> <title>Installation and configuration on Fedora</title> [text of chapter] </chapter>
User_Guide.xml
with an <xi:include>
tag, the document will not build with condition=Ubuntu
set in the publican.cfg
file.
<xi:include>
tag in User_Guide.xml
, not to the <chapter>
tag in Installation_and_configuration_on_Fedora.xml
.
<xref>
points to content not included in the build due to conditional tagging, the build will fail. For example, with condition=upstream
set in the publican.cfg
file, publican build --formats=pdf --langs=en-US
will fail if the book has the tag <xref linkend="betasection">
pointing to <section id="betasection" CONDITION="beta">
.
confidential
1
, Publican adds a prominent footer marked Confidential
to each page. The default value is 0
(no footer).
debug
0
, Publican does not display debugging messages. Change this value to 1
to view these messages.
doc_url
image_right.png
image in the Common_Content/images
directory for the brand. This parameter defaults to https://fedorahosted.org/publican
docname
<title>
tag in the Book_Info.xml
file when you package a document. This value must include only contain upper- and lower-case un-accented letters, digits, and the underscore and space characters (‘a–z’, ‘A–Z’, ‘0’–‘9’, and ‘_’ and ‘ ’).
dt_obsoletes
dtdver
edition
<edition>
tag in the Book_Info.xml
file when you package a document. This value must include only digits and the period (‘0’–‘9’ and ‘.’).
generate_section_toc_level
0
, Publican will generate tables of contents at the start of the document and in parts, chapters, and appendixes, but not in sections. If (for example) the value is set to 1
, tables of contents also appear in each "level 1" section, such as sections 1.1, 1.2, 2.1, and 2.2. If set to 2
, tables of contents also appear in "level 2" sections, such as sections 1.1.1, 1.1.2, and 1.2.1.
ignored_translations
license
os_ver
.el5
, which signifies Red Hat Enterprise Linux 5 and operating systems derived from it. Refer to Section 3.5, “Packaging a book” and Section 4.4, “Packaging a brand”.
prod_url
image_left.png
image in the Common_Content/images
directory for the brand. This parameter defaults to https://fedorahosted.org/publican
.
product
<productname>
tag in the Book_Info.xml
file when you package a document. This value must include only contain upper- and lower-case un-accented letters, digits, and the underscore and space characters (‘a–z’, ‘A–Z’, ‘0’–‘9’, and ‘_’ and ‘ ’).
release
<pubsnumber>
in the Book_Info.xml
file when you package a document. This value must include only digits (‘0’–‘9’).
repo
scm
SVN
as its default setting. Refer to Section 5.2, “Distributed sets”.
show_remarks
0
, which causes Publican to hide remarks. Set this value to 1
to display remarks.
show_unknown
1
, so Publican reports unknown tags. Set this value to 0
to hide this output. Publican ignores this parameter in strict mode.
src_url
Source:
field in the header of an RPM spec file. Refer to Section 3.5, “Packaging a book”.
strict
strict
parameter is set of 0
, which disables strict mode. To enable strict mode, set this parameter to 1
Strict mode is no longer enforced.
tmp_dir
tmp
, which creates a directory named tmp
inside the directory that holds your article or book.
toc_section_depth
2
. With the default setting, sections 1.1 and 1.1.1 will appear in the main table of contents, but section 1.1.1.1 will not. (Note that the first digit in these examples represents a chapter, not a section).
version
<productnumber>
tag in the Book_Info.xml
file when you package a document. This value must include only digits and the period (‘0’–‘9’ and ‘.’).
web_brew_dist
docs-5E
, representing documentation packages for Red Hat Enterprise Linux 5. Refer to Section 3.5, “Packaging a book”.
web_obsoletes
publican help_config
command in the root directory of a book for a summary of these parameters.
Article_Info.xml
and Set_Info.xml
Book_Info.xml
file applies to Article_Info.xml
and Set_Info.xml
files too. However, for the sake of simplicity, the file is referred to as Book_Info.xml
throughout this section.
publican package
command, Publican generates a tarball that you can use to build a package to distribute through different package manager software. If you run publican package
on a computer on which rpmbuild is not installed, Publican still generates the tarball, even though it cannot then generate an RPM package from that tarball.
Book_Info.xml
file contains the key metadata concerning a book: the book's ID; title; subtitle; author and edition number. It also contains the name and version of the product that is documented, and an abstract.
Book_Info.xml
must have appropriate data within them, and that data must conform to the requirements of the RPM format. You can override the data in these tags by using equivalent fields in the publican.cfg
file, as discussed in this section.
publican.cfg
file, data from seven of the default tags in Book_Info.xml
is required to build books as RPMs. Most immediately, the file name of a book built as an RPM package is constructed as follows: productname
-title
-productnumber
-language
-edition
-pubsnumber
.src.rpm
. Everything but language
above is pulled from Book_Info.xml
— you specify language
when you build the book. As well, the <subtitle>
and <abstract>
are used in the RPM spec file, to provide the Summary:
field in the header and the %description
field, respectively.
Book_Info.xml
file, for the Test_Book
book, is presented below. Details regarding this file, and what the RPM format requirements are for each tag, follow.
<?xml version='1.0' encoding='utf-8' ?> <!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!ENTITY % BOOK_ENTITIES SYSTEM "Users_Guide.ent"> %BOOK_ENTITIES; ]> <bookinfo id="book-Users_Guide-Users_Guide" lang="en-US"> <title>Users Guide</title> <subtitle>Publishing books, articles, papers and multi-volume sets with DocBook XML</subtitle> <productname>Publican</productname> <productnumber>1.0</productnumber> <edition>1.1</edition> <pubsnumber>2</pubsnumber> <abstract> <para> This book will help you install Publican. It also provides instructions for using Publican to create and publish DocBook XML-based books, articles and book sets. This guide assumes that you are already familiar with DocBook XML. </para> </abstract> <keywordset> <keyword>publican</keyword> <keyword>docbook</keyword> <keyword>publishing</keyword> </keywordset> <corpauthor> <inlinemediaobject> <imageobject> <imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" /> </imageobject> <textobject> <phrase>Logo</phrase> </textobject> </inlinemediaobject> </corpauthor> <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> </bookinfo>
<bookinfo id="book_id
">
, <articleinfo id="article_id
">
, <bookinfo id="book_id
">
publican clean_ids
command, any manually entered ID, including this one, changes to a Doc_Name-Title
format, where Title
is the title of the associated book, article, section, or chapter.
<productname>productname
</productname>
Red Hat Enterprise Linux
or JBoss Enterprise Application Platform
. When building a book as an RPM package, data in the <productname> tag is used as part of the file name of the package.
product
variable in the publican.cfg
file if the name of your product contains non-Latin characters, accented Latin characters, or punctuation marks other than the underscore.
publican.cfg
file. If you do not override this tag in the publican.cfg
file, this tag must only contain upper- and lower-case un-accented letters, digits, and the underscore and space characters (‘a–z’, ‘A–Z’, ‘0’–‘9’, and ‘_’ and ‘ ’) if you plan to build packages with Publican.
<title>title
</title>
docname
variable in the publican.cfg
file if the title of your document contains non-Latin characters, accented Latin characters, or punctuation marks other than the underscore.
publican.cfg
file. If you do not override this tag in the publican.cfg
file, this tag must only contain upper- and lower-case un-accented letters, digits, and the underscore and space characters (‘a–z’, ‘A–Z’, ‘0’–‘9’, and ‘_’ and ‘ ’) if you plan to build packages with Publican.
<subtitle>subtitle
</subtitle>
Summary
in the RPM spec file. The rpm -qi
returns the contents of several spec file fields, including the Summary
field.
<productnumber>productnumber
</productnumber>
publican create --name Doc_Name
--version version
command correctly configures the product number.
version
variable in the publican.cfg
file if the product version is anything other than a number.
publican.cfg
file. If you do not override this tag in the publican.cfg
file, this tag must only contain numbers and the period (‘0–9’ and ‘.’) if you plan to build packages with Publican.
<edition>edition
</edition>
x
for pre-release versions of a book). Subsequent editions should increment the 1.x
to indicate to readers that the book is a new edition. The edition changes the version number in the file name when building a book with the publican package
command.
1.2
and building the book using the publican package --binary --lang=en-US
command creates an RPM file named productname
-title
-productnumber
-en-US-1.2-0.src.rpm
.
publican create --name Doc_Name
--edition x
.y
command correctly configures the edition.
edition
variable in the publican.cfg
file if the edition of your document is identified by anything other than a number.
publican.cfg
file. If you do not override this tag in the publican.cfg
file, this tag must only contain numbers and the period (‘0–9’ and ‘.’) if you plan to build packages with Publican.
<pubsnumber>pubsnumber
</pubsnumber>
publican package
command. For example, setting the pubsnumber to 1
and building the book using the publican package --binary --lang=en-US
command creates an RPM file named productname
-title
-productnumber
-en-US-edition
-1.src.rpm
.
release
variable in the publican.cfg
file if the release number of your document contains anything other than whole numbers.
publican.cfg
file. If you do not override this tag in the publican.cfg
file, this tag must only contain numbers (‘0–9’) if you plan to build packages with Publican.
<abstract><para>abstract
</para></abstract>
Description
field of the RPM's spec file. This makes the abstract for a package available via the rpm -qi
command.
Book_Info.xml
used by Publican includes an <edition>
tag.
Book_Info.xml
also includes the <pubsnumber>
tag. Any data placed within this tag changes the release number of RPM-packaged books.
<productnumber>
tag also found in Book_Info.xml
: <productnumber>
denotes the version number of the product being documented or otherwise written about.
<pubsnumber>
tag, not the <edition>
tag. It functions as a near-equivalent to the impression or printing number of traditional publishing.
Author_Group.xml
is not required but is the standard place to record author, editor, artist and other credit details. The following is an example Author_Group.xml
file:
<?xml version='1.0'?> <!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <authorgroup> <corpauthor>FF0000 Headgear Documentation Group</corpauthor> <author> <firstname>Dude</firstname> <surname>McDude</surname> <affiliation> <orgname>My Org</orgname> <orgdiv>Best Div in the place</orgdiv> </affiliation> <email>dude.mcdude@myorg.org</email> </author> </authorgroup>
Author_Group.xml
does not have to contain all of the above information: include as much or as little as required.
--type=article
option with publican create
, Publican does not create a Chapter.xml
file. Use sections to organize content within articles.
Chapter.xml
file is a template for creating chapter files. Chapter files contain the content that make up a book. The following is a chapter template (Chapter.xml
) that is created by the publican create
command. Note the DOCTYPE
is set to chapter
:
<?xml version='1.0'?> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <chapter id="MYBOOK-Test"> <title>Test</title> <para> This is a test paragraph </para> <section id="MYBOOK-Test-Section_1_Test"> <title>Section 1 Test</title> <para> Test of a section </para> </section> <section id="MYBOOK-Test-Section_2_Test"> <title>Section 2 Test</title> <para> Test of a section </para> </section> </chapter>
Section 1 Test
and Section 2 Test
. Refer to http://docbook.org/tdg/en/html/chapter.html for further information about chapters.
Installation.xml
, whereas a chapter on setting up a piece of software would be better called Setup.xml
or Configuration.xml
.
Doc_Name
.xml
file contains xi:include
directives to include the other necessary XML files for the document, including chapters or sections contained in other XML files. For example, a book's Doc_Name
.xml
file brings together chapters that are contained in separate XML files.
Doc_Name
.xml
file that describes a DocBook book — note the DOCTYPE
is set to book
.
<?xml version='1.0'?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <book> <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Chapter.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <index /> </book>
Book_Info.xml
, Preface.xml
, Chapter.xml
, and Appendix.xml
XML files.
Book_Info.xml
will precede Preface.xml
which will precede Chapter.xml
, and so on.
Doc_Name
.xml
file is not limited to using xi:include
directives. You can create documents with a single XML file. The following is an example of a book created using a single XML file:
<book> <chapter> <title>Chapter 1</title> <para> A paragraph in Chapter 1. </para> <section id="section1"> <title>Chapter 1 Section 1</title> <para> A paragraph in Section 1. </para> </section> <section id="section2"> <title>Chapter 1 Section 2</title> <para> A paragraph in Section 2. </para> </section> </chapter> <chapter> <title>Chapter 2</title> <para> A paragraph in Chapter 2. </para> </chapter> </book>
Doc_Name
.ent
file is used to define local entities. The YEAR
and HOLDER
entities are used for copyright information. By default, Publican sets YEAR
to the current year, and inserts a message into HOLDER
to remind you to specify the copyright holder for the document. If the YEAR
and HOLDER
entities are missing altogether, the document will not build.
BOOKID
to specify how readers should refer to a document when they submit feedback about it.
<!ENTITY PRODUCT "MYPRODUCT"> <!ENTITY BOOKID "MYBOOK"> <!ENTITY YEAR "2008"> <!ENTITY HOLDER "YOUR NAME GOES HERE">
&FDS;
instead of Fedora Directory Server saves the writer time but transformed entities do not appear in the portable object (PO) files that translators use. Complete translations of documents containing entities are, as a consequence, impossible.
<!ENTITY LIFT "Liberty Installation and Formatting Tome">
— you can enter &LIFT;
in your XML and it will appear as Liberty Installation and Formatting Tome
every time the book is built as HTML, PDF or text.
Liberty Installation and Formatting Tome
. Instead they see &LIFT;
, which they cannot translate.
As noted in the Liberty Installation and Formatting Tome, Chapter 3…
Wie in dem Wälzer für die Installation und Formatierung von Liberty, Kapitel 3, erwähnt…
#. Tag: para #, no-c-format msgid "As noted in the <citetitle>&LIFT;</citetitle>, Chapter 3…" msgstr ""
#. Tag: para #, no-c-format msgid "As noted in the <citetitle>&LIFT;</citetitle>, Chapter 3…" msgstr "Wie in <citetitle>&LIFT;</citetitle>, Kapitel 3, erwähnt…"
Wie in Liberty Installation and Formatting Tome, Kapitel 3, erwähnt…
However, a careful reading of the Liberty Installation and Formatting Tome afterword shows that…
Jedoch ergibt ein sorgfältiges Lesen des Nachworts für den Wälzer für die Installation und Formatierung von Liberty, dass…
#. Tag: para #, no-c-format msgid "However, a careful reading of the <citetitle>&LIFT;</citetitle> afterword shows that…" msgstr ""
#. Tag: para #, no-c-format msgid "However, a careful reading of the <citetitle>&LIFT;</citetitle> afterword shows that…" msgstr "Jedoch ergibt ein sorgfältiges Lesen des Nachworts für <citetitle>&LIFT;</citetitle>, dass…"
Jedoch ergibt ein sorgfältiges Lesen des Nachworts für Liberty Installation and Formatting Tome, dass…
&PRODUCT;
. The advantage of this approach is that by simply changing this value in the Doc_Name
.ent
file, you could easily adjust the book to document (for example) Red Hat Enterprise Linux, Fedora, or CentOS. However, while the proper noun Fedora never varies in English, it has six different forms in Czech, depending on one of seven ways that you can use it in a sentence:
Case | Usage | Form |
---|---|---|
Nominative | the subject of a sentence | Fedora |
Genitive | indicates possession | Fedory |
Accusative | the direct object of a sentence | Fedoru |
Dative | the indirect object of a sentence | Fedoře |
Vocative | the subject of direct address | Fedoro |
Locative | relates to a location | Fedoře |
Instrumental | relates to a method | Fedorou |
me
and she
is not correct. Me
is the accusative form of the pronoun, but because it is the subject of the sentence, the pronoun should take the nominative form, I
. Similarly, she
is nominative case, but as the direct object of the sentence the pronoun should take its accusative form, her
.
Doc_Name
.ent
file, entities might prove useful for version numbers of products. Beyond that, the use of entities is tantamount to a conscious effort to inhibit and reduce the quality of translations. Furthermore, readers of your document in a language that inflects nouns (whether for case, definiteness, or other reasons) will not know that the bad grammar is the result of XML entities that you set — they will probably assume that the translator is incompetent.
publican package
command searches for the first XML file in the document's XML directory containing a <revhistory>
tag. Publican then uses that file to build the RPM revision history.
images
subdirectory in the directory that holds your XML files. Use ./images/image-name
to insert images into a book. The following is an example that inserts the testimage.png
image:
<mediaobject> <imageobject> <imagedata fileref="./images/testimage.png" /> </imageobject> <textobject><phrase>alternate text goes here</phrase></textobject> </mediaobject>
<textobject>
so that your content remains accessible to people with visual impairments. In certain jurisdictions, you might have a legal responsibility to provide this accessibility — for example, if you or your organization must comply with Section 508 of the United States Rehabilitation Act of 1973.[1]
images
subdirectories for each language directory. Make sure that the image file in the translated language has the same name as the image file in the original language. When you build the book in the translated language, Publican uses the file from the images
subdirectory of the translated language instead of the file from the images
subdirectory of the original language.
images
subdirectory of your XML directory and corresponding images in the images
subdirectories of your translated languages. Images stored in other directories directories do not work.
Add alpha channel
, the option might be labeled Add transparency
instead.
$ publican update_pot
pot
. The pot
subdirectory holds a POT file for each XML file in the document. If Publican has created POT files for this document previously, Publican updates the existing POT files to reflect any changes in the XML since the POT files were last updated.
$ publican update_po --langs=language_code
language_code
is the code for the target language. Refer to Appendix D, Language codes for more information about language codes. You can provide multiple language codes, separated by commas, to generate PO files for more than one language at a time. For example:
$ publican update_po --langs=hi-IN,pt-BR,ru-RU,zh-CN
--langs=
option. This subdirectory holds a PO file for each POT file in pot
subdirectory. If Publican has created PO files for this language previously, Publican updates the existing PO files to reflect any changes in the POT files since the PO files were last updated. You can update existing PO files in every subdirectory with the --langs=all
option:
$ publican update_po --langs=all
pot
directory, whether the POT file is based on a corresponding XML file that is used in the document or not, or whether a corresponding XML file even exists. If you transform POT files for unused or deleted XML files into PO files, you waste the time and effort of volunteer translators, and waste money if you are paying for translations.
$ publican build --formats=html,html-single,pdf --langs=is-IS,nb-NO
$ publican package --lang=is-IS
--langs=all
option, but note that you must package each language individually. Refer to Section 3.4, “Building a document” for more information on building a document, and Section 3.5, “Packaging a book” on packaging a document.
YEAR
and HOLDER
entities have been configured in the Doc_Name
.ent
file, as described in Section 3.1.7, “Doc_Name.ent”.
Test_Book
and was located in the books/
directory, run the following command:
cd books/Test_Book
publican build --formats=test --langs=en-US
publican build --formats=formats
--langs=languages
formats
with a comma-separated list of the formats that you want to build, for example, --formats=html,html-single,pdf
. Replace langs
with a comma-separated list of the languages that you want to build, for example, --langs=en-US,sv-SE,uk-UA,ko-KR
.
publican build
commands:
publican build --help
publican build
options for building a book.
publican build --formats=test --langs=languages
--formats=test
before running any other publican build
command, and before checking a book back into a version-controlled repository from which other contributors might download it.
publican build --formats=html --langs=languages
Doc_Name
/tmp/language
/html/
directory. Each chapter and major section is placed in a separate HTML file. You can control the depth at which Publican places subsections into separate HTML files with the chunk-section-depth
parameter in the publican.cfg
— refer to Section 3.1.1, “The publican.cfg file”.
publican build --formats=html-single --langs=languages
Doc_Name
/tmp/language
/html-single/
directory.
publican build --formats=pdf --langs=languages
Doc_Name
/tmp/language
/pdf/
directory.
publican build --formats=html,html-single,pdf --langs=languages
publican.cfg
file; a similar set of parameters was defined in a Makefile
. Before you build such a document in a current version of Publican (version 0.99 onwards), you must convert the Makefile
into a publican.cfg
file. Publican can do this conversion automatically:
Makefile
.
publican old2new
. Publican parses the Makefile
and creates a publican.cfg
file with equivalent parameters wherever available.
publican old2new
, Publican does not alter or delete the original Makefile
. A Makefile
and a publican.cfg
file can coexist in the same document.
publican package
command, Publican generates a tarball that you can use to build a package to distribute through different package manager software. If you run publican package
on a computer on which rpmbuild is not installed, Publican still generates the tarball, even though it cannot then generate an RPM package from that tarball.
/usr/share/doc/
, the location specified by the Filesystem Hierarchy Standard (FHS) for ‘Miscellaneous documentation’.[2] The desktop RPM package also contains a desktop file, to be placed in /usr/share/applications/
. This file enables desktop environments such as GNOME and KDE to add the installed document to their menus for ease of reference by users.
/var/www/html/
, a common document root for web servers. Note that the web SRPM package generates both a web binary RPM package and desktop binary RPM package.
publican package
commandpublican package --lang=Language_Code
command to package documents for distribution in the language that you specify with the --lang
option. Refer to Appendix D, Language codes for more information about language codes.
publican package
with no options other than the mandatory --lang
option, Publican produces a web SRPM package. The full range of options for publican package
is as follows:
--lang
ignored_translations
parameter in the document's publican.cfg
file. The package will be named appropriately for the language, but will contain documentation in the original language of the XML rather than a partial translation. When translation is complete, remove the ignored_translations
parameter, increase the release number in the Project-Id-Version
field in the Book_Info.po
file for that language, and generate the package again. When you distribute the revised package, it becomes available to replace the original untranslated package.
--desktop
--brew
--scratch
--brew
and --desktop
options, specifies that a SRPM package should be built as a scratch build when sent to Brew. Scratch builds are used to verify that an SRPM package is structured correctly, without updating the package database to use the resulting package.
--short_sighted
version
in the publican.cfg
file) in the package name.
--binary
publican package
command, Publican outputs completed SRPM packages to the document's tmp/rpm
directory, and completed binary RPM packages to the document's tmp/rpm/noarch
directory.
productname
-title
-productnumber
-[web]
-language
-edition
-pubsnumber
.[build_target]
.noarch.file_extension
. Publican uses the information in the document's publican.cfg
file to supply the various parameters in the file name, and then information in the Book_Info.xml
file for any parameters missing from the publican.cfg
file. Refer to Section 3.1, “Files in the book directory” for details of configuring these files. Additionally:
-web-
between the product version and the language code.
.src.rpm
but binary RPM packages have the file extension .rpm
[build_target]
.noarch
before the file extension, where [build_target]
represents the operating system and version that the package is built for as set by the os_ver
parameter in the publican.cfg
file. The noarch
element specifies that the package can be installed on any system, regardless of the system architecture.
--short_sighted
option removes the -productnumber
-
from the package name.
publican package
command — Example usagepublican package --lang=cs-CZ
publican package --desktop --lang=cs-CZ
publican package --binary --lang=cs-CZ
publican package --desktop --binary --lang=cs-CZ
publican package --desktop --short_sighted --lang=cs-CZ
condition
. For example, let's say the book How To Use Product Foo has an "upstream", "enterprise", and "beta" version:
<para condition="upstream"> This paragraph will only appear in the upstream version of How To Use Product Foo. </para> <para condition="enterprise"> This paragraph will only appear in the enterprise version of How To Use Product Foo. </para> <para condition="beta"> This paragraph will only appear in the beta version of How To Use Product Foo. </para> <para condition="beta,enterprise"> This paragraph will only appear in the beta and enterprise versions of How To Use Product Foo. </para>
condition=version
parameter to the publican.cfg
file and run the publican build
command as normal. For example, if you add condition=upstream
to the publican.cfg
file of How To Use Product Foo and run:
publican build --formats=pdf --langs=en-US
condition="upstream"
attribute and build How To Use Product Foo in as a PDF file in American English.
Installation_and_configuration_on_Fedora.xml
contains a single chapter:
<?xml version='1.0' encoding='utf-8' ?> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <chapter id="chap-Installation_and_configuration_on_Fedora" CONDITION="Fedora"> <title>Installation and configuration on Fedora</title> [text of chapter] </chapter>
User_Guide.xml
with an <xi:include>
tag, the document will not build with condition=Ubuntu
set in the publican.cfg
file.
<xi:include>
tag in User_Guide.xml
, not to the <chapter>
tag in Installation_and_configuration_on_Fedora.xml
.
<xref>
points to content not included in the build due to conditional tagging, the build will fail. For example, with condition=upstream
set in the publican.cfg
file, publican build --formats=pdf --langs=en-US
will fail if the book has the tag <xref linkend="betasection">
pointing to <section id="betasection" CONDITION="beta">
.
#. Tag: para #, no-c-format msgid "Content that only appears in the upstream version of How To Use Product Foo." msgstr "" #. Tag: para #, no-c-format msgid "Content that only appears in the enterprise version of How To Use Product Foo." msgstr "" #. Tag: para #, no-c-format msgid "Content that only appears in the beta version of How To Use Product Foo." msgstr "" #. Tag: para #, no-c-format msgid "Content that only appears in the beta and enterprise versions of How To Use Product Foo." msgstr ""
publican.cfg
file and are aware of the valid conditions for your book, they cannot proofread their work. Without that knowledge, when translators proofread a document, they will wonder why they cannot find text that they know they translated and can find easily in the PO file. If you must use conditionals in your book, you must be prepared to provide a greater degree of support to your translators than you would otherwise provide.
Book_Info.xml
file. Place this additional text in <remark>
tags. For example:
<subtitle>Using Red Hat Enterprise Warp Drive<remark> Version 1.1, Beta 2</remark></subtitle>
show_remarks
to the publican.cfg
file and set it to '1':
show_remarks: 1
<remark>
tag and the show_remarks
setting in place, the pre-release nature of the software is displayed clearly and unmistakably. PDF builds display the remark on their cover and title pages. HTML builds (both single-page HTML and multiple-page HTML) display the remark near the beginning of index.html
.
Book_Info.xml
used to generate RPMs, it also ensures there is no ambiguity in the RPM subsystem's operation.
<remark>
tag and its contents and remove or turn off show_remarks
when documentation is updated for use with the release version of the software.
status="draft"
attribute to the <article>
, <book>
or <set>
tag in your document's root node. For example:
<book status="draft">
<book>
tag in your Doc_Name
.xml
file.
<article>
or <set>
tag in Doc_Name
.xml
.
status="draft"
attribute causes each page of the document to show the draft watermark. This is by design.
common/
. Documentation projects can produce and distribute brands to their contributors, either as a package (for example, an RPM package) or as an archive (for example, a tarball or ZIP file).
yum install publican-brand
or with a graphical package manager such as PackageKit.
/usr/share/publican/Common_Content
on Linux operating systems and at %SystemDrive%/%ProgramFiles%/publican/Common_Content
on Windows operating systems — typically, C:/Program Files/publican/Common_Content
Brand | License | Package | Comment |
---|---|---|---|
common | GFDL Version 1.2 | publican | GPL compatible license. No options. |
RedHat | OPL 1.0 | publican-redhat | No Options. |
Fedora | OPL 1.0 | publican-fedora | No Options. |
JBoss | OPL 1.0 | publican-jboss | No Options. |
oVirt | OPL 1.0 | publican-ovirt | No Options. |
GIMP | GFDL Version 1.2 | publican-gimp | GPL compatible license. No options. |
Genome | OPL 1.0 | publican-genome | No Options. |
create_brand
action to create a new brand. When you create a new brand, you must give it a name and specify the original language for the brand's XML files. The --name
option provides the name, and the --lang
option specifies the language. The complete command is therefore:
publican create_brand --name=brand
--lang=language_code
publican-brand
, where brand
is the brand that you specified with the --name
option.
Acme
, which will have its Common Content XML files written originally in American English, run:
publican create_brand --name=Acme --lang=en-US
publican-Acme
.
SETUP
in the default files that Publican creates and edit the files to provide the missing details. On Linux operating systems, you can search for the word SETUP
in these files with the command:
grep -r 'SETUP' *
publican create_brand --name=brand
--lang=language_code
command creates a directory structure and the required files. The brand directory initially contains:
COPYING
defaults.cfg
overrides.cfg
publican.cfg
publican-brand
.spec
, where brand
is the name of the brand.
README
en-US
). These files are:
Feedback.xml
Legal_Notice.xml
css
subdirectory, which contains:
overrides.css
images
subdirectory, which contains 43 images in both raster (PNG) and vector (SVG) formats.
publican.cfg
file in a brand serves a similar purpose to the publican.cfg
file in a document — it configures a number of basic options that define your brand.
version
publican create_brand
, the version number is set to 1.0
. Update the version number here in the brand publican.cfg
file and in the brand publican.spec
file when you prepare a new version of the brand.
12
in its publican.cfg
file, but might be built with version 1.0 of the publican-fedora brand.
xml_lang
en-US
, as set by the --lang
option for publican create_brand
.
release
publican create_brand
, the release number is set to 0
. Update the version number here in the brand publican.cfg
file and in the brand publican.spec
file when you prepare a new release of an existing version of the brand.
type
type=brand
, this parameter identifies the contents of this directory as a brand, rather than a book, article, or set.
brand
--name
option for publican create_brand
.
publican.cfg
file in its root directory, which configures build options for the document. Refer to Section 3.1.1, “The publican.cfg file” for a full description of these options. The defaults.cfg
file and overrides.cfg
file in a brand supply default values for any of the parameters that you can otherwise set with a document's publican.cfg
file.
defaults.cfg
file before it applies the values in the document's publican.cfg
file. Values in the document's publican.cfg
file therefore override those in the brand's defaults.cfg
file.
overrides.cfg
file, which therefore override any values in the brand's defaults.cfg
file and the document's publican.cfg
file.
defaults.cfg
file to set values that you routinely apply to your brand but want to allow writers to change in particular books; use the overrides.cfg
file for values that you do not want to allow writers to change.
brand
.spec fileREADME
file in an SRPM package includes a brief description of the package.
COPYING
file in an SRPM package contains details of the copyright license for the package.
--lang
option when you created the brand. This subdirectory contains XML and image files that override the default Common Content provided with Publican. Customizing these files provides your brand with its distinctive appearance, including its color scheme and logos.
Feedback.xml
Feedback.xml
file is included by default in the preface of every book produced in Publican. It invites readers to leave feedback about the document. Customize this file with the contact details of your project. If your project uses a bug tracking system such as Bugzilla, JIRA, or Trac, you could include this information here.
Legal_Notice.xml
Legal_Notice.xml
file contains the legal notice that appears at the beginning of every document produced by Publican. Insert the details of your chosen copyright license into this file. Typically, this might include the name of the license, a short summary of the license, and a link to the full details of the license.
css
subdirectorycss
subdirectory contains a single file: overrides.css
.
overrides.css
file sets the visual style for your brand. Values in this file override those in Publican's Common_Content/common/xml_lang
/css/common.css
file.
images
subdirectoryimages
subdirectory contains 43 images in both portable network graphics (PNG) and scalable vector graphics (SVG) format. These images are placeholders for various navigation icons, admonition graphics, and brand logos. They include:
image_left
prod_url
in the publican.cfg
file for the document. Consider setting prod_url
in the brand's defaults.cfg
or overrides.cfg
file.
image_right
doc_url
in the publican.cfg
file for the document. If all the documentation for this brand is produced by the same team, consider setting doc_url
in the brand's defaults.cfg
or overrides.cfg
file.
title_logo
note
, important
, warning
<note>
, <important>
, and <warning>
.
dot
, dot2
<listitem>
s in <itemizedlist>
s.
stock-go-back
, stock-go-forward
, stock-go-up
, stock-home
h1-bg
watermark_draft
publican package
command, Publican generates a tarball that you can use to build a package to distribute through different package manager software. If you run publican package
on a computer on which rpmbuild is not installed, Publican still generates the tarball, even though it cannot then generate an RPM package from that tarball.
publican package
command in the brand directory. When used without any further options, Publican produces an SRPM package. The options for packaging a brand are as follows:
--binary
--brew
--scratch
--brew
option, specifies that a SRPM package should be built as a scratch build when sent to Brew. Scratch builds are used to verify that a SRPM package is structured correctly, without updating the package database to use the resulting package.
--lang
, --desktop
and --short_sighted
options that apply when you package books (described in Section 3.5, “Packaging a book”) are meaningless when you package brands. In particular, note that although the --lang
option is mandatory when you package a book, you do not need to use it when you package a brand.
publican-brand
-version
-release
.[build_target]
.[noarch].file_extension
. Publican uses the information in the publican.cfg
file to supply the various parameters in the file name. Refer to Section 4.3.1, “The publican.cfg file” for details of configuring this file. Additionally:
.src.rpm
but binary RPM packages have the file extension .rpm
[build_target]
.noarch
before the file extension, where [build_target]
represents the operating system and version that the package is built for as set by the os_ver
parameter in the publican.cfg
file. The noarch
element specifies that the package can be installed on any system, regardless of the system architecture.
create_book
command creates a template for a set by setting the type
parameter to Set
. There are two types of sets, stand-alone sets and distributed sets.
books/My_Set/
. The set will contain Book A and Book B both of which will be manually created inside the books/My_Set/en-US
directory.
books/
directory to create a set named My_Set
branded in the Red Hat style and in which the XML will be written in American English.
publican create --type=Set --name=My_Set --brand=RedHat --lang=en-US
cd
into the My_Set/en-US
directory and create two directories called Book_A
and Book_B
.
cd My_Set/en-US mkdir Book_A Book_B
cd
into the books/My_Set/en-US/Book_A
directory. Create and edit the Book_A.xml
, Book_Info.xml
, and any other xml files required for your book such as those required for individual chapters. Ensure that Book_A.xml
contains the correct xi:include
references to all of your xml files in the directory. For example, if Book A contained Book_Info.xml
and Chapter_1.xml
, the Book_A.xml
file would look like this:
<?xml version='1.0'?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <book> <xi:include href="Book_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> <xi:include href="Chapter_1.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> </book>
books/My_Set/en-US/Book_B
directory, as per the step above.
books/My_Set/en-US/My_Set.xml
file in an editor. For each book in the set, add an xi:include
reference to the primary xml file from the book. The primary xml file for Book A will be Book_A.xml
and for Book B, Book_B.xml
. The My_Set.xml
file should now look like this:
<?xml version="1.0"?> <!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <set> <xi:include href="Set_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Book_A/Book_A.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Book_B/Book_B.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> </set>
publican build --formats=test langs=en-US
command.
publican.cfg
file, each book can be exported to build the entire set. The procedure that follows will guide you through the process of creating a set named My Set containing Book A and Book B.
My_Set
branded in the Red Hat style and in which the XML will be written in American English.
$ publican create --type=Set --name=My_Set --brand=RedHat --lang=en-US
publican.cfg
file:
books = Book_A Book_B
repo = http://PATH-TO-YOUR-SVN-REPOSITORY
scm = SVN
My_Set.xml
file in an editor. For each book in the set, add an xi:include
reference to the primary XML file from the book. The primary XML file for Book A will be Book_A.xml
and for Book B, Book_B.xml
. The My_Set.xml
file should now look like this:
<?xml version="1.0"?> <!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ ]> <set> <xi:include href="Set_Info.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Book_A/Book_A.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Book_B/Book_B.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> <xi:include href="Revision_History.xml" xmlns:xi="http://www.w3.org/2001/XInclude" /> </set>
publican build --formats=test --langs=en-US
command.
publican clean_ids
command will be run over each book because of the constraint that IDs must be unique across all books. Be careful of creating IDs that rely on content that may not be available when building books independently of the set.
publican update_po --langs=language
, where language
is the code for the new language that you want to add. You can add more than one language at a time, with the language codes separated by commas. For example, publican update_po --langs=ja-JP
creates the Japanese language directory and Japanese PO files, and publican update_po --langs=ja-JP,ko-KR
creates directories and PO files for both Japanese and Korean.
publican update_po --langs=es,de,fr
?
zh-CN
(Simplified Chinese as used in the People's Republic of China) and zh-TW
(Traditional Chinese as used in the Republic of China, on Taiwan). Even when only one variety is currently defined, it is always safest to include the country code so that, for example, a future update of Publican does not suddenly cause your German (de-DE
) documents to switch to Schweizerdeutsch (Swiss German, de-CH
) Common Content and headings.
publican update_po --langs=all
command.
publican build --help
command.
publican.cfg
?
publican help_config
command in a directory that holds any Publican document.
/usr/share/publican/
on Linux operating systems and in %SystemDrive%/%ProgramFiles%/publican/Common_Content
on Windows operating systems — typically, C:/Program Files/publican/Common_Content
.
extras
in your source language directory and use an xi:include
to pull in the code file.
mkdir en-US/extras
cp ~/samples/foo.c en-US/extras/.
xi:include
the sample file in your xml file
<programlisting> <xi:include parse="text" href="extras/foo.c" xmlns:xi="http://www.w3.org/2001/XInclude" /> </programlisting>
en-US/extras/foo.c
in your favorite editor without having to be concerned about how it will affect the XML.
files
in your source language directory it will be included in any tarballs or SRPM packages that Publican creates.
files
directory will not be available during the validation process so you can not xi:include
or otherwise embed any files in this directory in your XML.
alternatives --config java
and alternatives --config javac
, if the versions are different then selecting the same version in both can fix this problem.
alternatives
environment correctly, no fix has been determined for this situation.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
when trying to build PDF. What is wrong?
make
run echo "FOP_OPTS='-Xms50m -Xmx700m'" > ~/.foprc
. This sets the initial heap space to 50 MB and allows it to grow to a maximum of 700 MB.
<para>
tags. Does Publican still do this?
<para>
tags while it transformed XML because empty <para>
tags broke an earlier translation toolchain used within Red Hat. Empty <para>
tags are valid DocBook XML, and Publican no longer removes them.
<segmentedlist>
s work when I build PDFs?
<segmentedlist>
s. When <segmentedlist>
s are formatted as tables, the DocBook XSL limits the number of columns to two, and Publican formats <segmentedlist>
s as tables.
<caution>
, <tip>
<tip>
, <note>
, <important>
, <caution>
, and <warning>
. Taken together, these represent a very fine-grained set of distinctions. It is unlikely that these fine distinctions can be applied consistently within a document, especially when more than one person writes or maintains the document. Moreover, this level of granularity is meaningless to readers. By design, Publican disallows the <tip>
and <caution>
elements, these elements being the two most redundant in the set.
<note>
instead of <tip>
, and use either <important>
or <warning>
instead of <caution>
. Some criteria by which you might select a suitable level of severity are presented in the ‘Document Conventions’ section of the preface of books produced with Publican's default brand.
<entrytbl>
<glossdiv>
, <glosslist>
<glossdiv>
s that looks like this in English:
Apple
— an apple is…
Grapes
— grapes are…
Orange
— an orange is…
Peach
— a peach is…
Manzana
— la manzana es…
Uva
— la uva es…
Naranja
— la naranja es…
Melocotonero
— el melocotonero es…
<inlinegraphic>
<inlinegraphic>
is not valid in DocBook version 5.
<link>
<link>
tag provides a general-purpose hyperlink and therefore offers nothing that the <xref>
and <ulink>
tags do not, for internal and external hyperlinks respectively. The <link>
tag is disallowed due to its redundancy.
<olink>
<olink>
tag provides cross-references between XML documents. For <olink>
s to work outside of documents that are all hosted within the same library of XML files, you must provide a URL for the document to which you are linking. In environments that use <olink>
s, these URLs can be supplied either as an XML entity or with a server-side script. Publican produces documents intended for wide dissemination in which URLs are always necessary for cross-references. Therefore, the <olink>
tag offers no advantage over the <ulink>
tag, and is disallowed due to its redundancy.
<[element] xreflabel="[any_string_here]">
<xreflabel>
attribute reduces the usability of printed versions of a book. As well, attribute values are not seen by translators and, consequently, cannot be translated.
<chapter id="ch03" xreflabel="Chapter Three"> <title>The Secret to Eternal Life</title> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] …see <xref linkend="ch03"> for details.
<xref>
tag becomes an HTML anchor tag as follows:
…see <a href="#ch03">Chapter Three</a> for details.
<xreflabel>
attribute. In this case, it means that readers of printed copies have less information available to them.
<xreflabel>
attribute the same as the text within the <title>
</title>
element tags. However, this duplication increases the risk of typo-level errors and otherwise offers no underlying improvement. And it still reduces the amount of information presented to readers of printed copies.
<chapter id="ch03" xreflabel="The Secret to Eternal Life"> <title>The Secret to Eternal Life</title> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] …see >xref linkend="ch03"> for details.
…see <a href="#ch03">The Secret to Eternal Life</a> for details.
<xreflabel>
attribute. The following:
<chapter id="ch03"> <title>The Secret to Eternal Life</title> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] …see <xref linkend="ch03"> for details.
<xref>
element as follows when built to HTML:
…see <a href="#ch03">Chapter 3: The Secret to Eternal Life</a> for details.
<xreflabel>
tags cause. Attribute values are not seen by translators. Consequently, they are not translated. Consider the second example above again:
<chapter id="ch03" xreflabel="The Secret to Eternal Life"> <title>The Secret to Eternal Life</title> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] …see <xref linkend="ch03"> for details.
<xref>
is still transformed into an anchor tag as follows:
…see <a href="#ch03">The Secret to Eternal Life</a> for details.
…Sehen Sie <a href="#ch03">The Secret to Eternal Life</a> für Details.
<xreflabel>
attribute is not used, the title and chapter indicator, both properly translated, appear to the reader. That is, the following:
<chapter id="ch03"> <title>The Secret to Eternal Life</title> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] …see <xref linkend="ch03"> for details.
…Sehen Sie <a href="#ch03">Kapitel 3: Das Geheimnis des ewigen Lebens</a> für Details.
xreflabel
attribute is therefore disallowed.
<[element] endterm="[any_string_here]">
endterm
attribute allows you to present hyperlinked text other than the name of the section or chapter to which the hyperlink points. As such, it decreases the usability of printed versions of documents, and causes difficulty for translators.
<xref>
) that contains the endterm
attribute is taken from a <titleabbrev>
tag in the target chapter or section. Although the content of the <titleabbrev>
tag is available to translators in the document's PO files, it is removed from the context of the <xref>
. The absence of this context makes reliable translation impossible in languages that mark prepositions or articles for grammatical number and grammatical gender.
<chapter id="The_Secret"> <title>The Secret to Eternal Life</title> <titleabbrev id="final">the final chapter</titleabbrev> <para>The secret to eternal life is…</para> </chapter> [more deathless prose here] The solution is in <xref linkend="The_Secret" endterm="final"/>.
<xref>
presents in the English version of the document as:
The solution is inthe final chapter
.
<titleabbrev>
in a PO file as:
#. Tag: titleabbrev #, no-c-format msgid "the final chapter" msgstr ""
<xref>
elsewhere in the PO file (or, more likely, in a completely different PO file) as:
#. Tag: para #, no-c-format msgid "The solution is in <xref linkend="The_Secret" endterm="final"/>." msgstr ""
<xref linkend="The_Secret" endterm="final"/>
when the document builds, so a translation in Italian might read:
#. Tag: para #, no-c-format msgid "The solution is in <xref linkend="The_Secret" endterm="final"/>." msgstr "La soluzione è in <xref linkend="The_Secret" endterm="final"/>."
in
.
the final chapter
in Italian as l'ultimo capitolo
, the result when the document builds will read:
La soluzione è inl'ultimo capitolo
.
La soluzione è nell'ultimo capitolo
.
in
to stand by itself, or which of seven different possible combinations with the definite article to use: nel
, nei
, nello
, nell'
, negli
, nella
, or nelle
.
<xref>
, or in the <titleabbrev>
. Whichever of these two solutions the translator selects will cause problems when the endterm
appears in other grammatical contexts, because not all Italian prepositions can combine with the definite article in this way.
endterm
presents for translation, Publican disallows this attribute.
publican --help
publican --man
publican --help_actions
publican --v
publican build
publican clean
publican clean_ids
publican cleanset
publican create
publican create_brand
publican help_config
publican.cfg
file.
publican installbrand
publican old2new
publican.cfg
file based on the Makefile
of a Publican 0 document.
publican package
--brew
to specify a scratch build (meaningless outside Red Hat).
publican printtree
publican update_pot
publican update_po
publican.cfg
file in its root directory. Parameters that can be set in the publican.cfg
file are:
docname
--name
option.
version
--version
option.
xml_lang
--lang
option.
edition
--edition
option.
type
<article>
, DocBook <book>
, or DocBook <set>
, set by the --type
option.
brand
--brand
option.
product
--product
option.
arch
books
brew_dist
docs-5E
)
catalogs
/usr/share/publican/xsl
, default for Windows operating systems: %SystemDrive%/%ProgramFiles%/publican/DocBook_DTD
— most usually C:/Program Files/publican/DocBook_DTD
).
chunk_first
0
— the first section starts a new HTML page).
chunk_section_depth
4
)
classpath
/usr
/share
/java
/ant
/ant-trax-1.7.0.jar:
/usr
/share
/java
/xmlgraphics-commons.jar:
/usr
/share
/java
/batik-all.jar:
/usr
/share
/java
/xml-commons-apis.jar:
/usr
/share
/java
/xml-commons-apis-ext.jar
)
common_config
/usr/share/publican
, default for Windows operating systems: %SystemDrive%/%ProgramFiles%/publican
— most usually C:/Program Files/publican
)
common_content
/usr/share/publican/Common_Content
, default for Windows operating systems: %SystemDrive%/%ProgramFiles%/publican/Common_Content
— most usually C:/Program Files/publican/Common_Content
)
condition
confidential
0
— not confidential).
debug
0
— suppress messages)
doc_url
https://fedorahosted.org/publican
)
dt_obsoletes
dtdver
generate_section_toc_level
0
— no tables of contents in sections)
ignored_translations
license
os_ver
.el5
— Red Hat Enterprise Linux 5)
prod_url
https://fedorahosted.org/publican
)
release
xml_lang
, fetched from the title tag in xml_lang/TYPE_Info.xml
or Project-Id-Version
in lang/TYPE_Info.po
.
repo
scm
SVN
)
show_remarks
0
— hide remarks)
show_unknown
1
— report unknown tags)
src_url
strict
0
— not strict) Strict mode is no longer enforced.
tmp_dir
tmp
)
toc_section_depth
2
)
web_brew_dist
docs-5E
)
web_obsoletes
@
symbol to separate elements — for example, en_GB
or sr_RS@latin
) do not comply with the XML standard and therefore do not work with Publican.
language
-script
-region
-variant
x-
and do not need to be registered. Private-use subtags aside, a subtag is valid if it appears in the registry of subtags maintained by the IETF through the Internet Assigned Numbers Authority (IANA).[6] Although Publican will accept any language tag that is valid under the rules presented in BCP 47, it is designed around the assumption that language tags for documents will most usually take the form language
-region
. A brief description of subtags follows:
zh
(Chinese), hi
(Hindi), es
(Spanish), and en
(English). Where no two-letter code exists in ISO 639-1, the language subtag is usually a three-letter code identical with the codes specified in ISO 639-2,[8] for example, bal
(Balochi), apk
(Kiowa Apache), and tpi
(Tok Pisin). Finally, a small number of language subtags appear in the IANA registry that have no ISO 639-1 or ISO 639-2 equivalent, such as subtags for the constructed languages qya
(Quenya) and tlh
(Klingon), and for the occult language i-enochian
(Enochian). This last example also illustrates a small number of language subtags grandfathered into the registry that do not match the two-letter or three-letter pattern of codes derived from the ISO 639 standards.
yue
represents Cantonese, but this subtag must always be used with the language subtag associated with it (Chinese), thus: zh-yue
. The IETF does not yet recognize RFC 5646 as "Best Common Practice", nor are these subtags part of the XML standard yet.
sr-Latn
represents Serbian written with the Latin alphabet and sr-Cyrl
represents Serbian written with the Cyrillic alphabet; az-Arab
represents Azerbaijani written in Arabic script and az-Cyrl
represents Azerbaijani written with the Cyrillic alphabet. Conversely, French should not be represented as fr-Latn
, because French is not commonly written in any script other than the Latin alphabet anywhere in the world.
AT
(Austria), TZ
(Tanzania), and VE
(Venezuela). The three-digit region subtags are based on those in UN M.49, [12] for example, 015
(Northern Africa), 061
(Polynesia), and 419
(Latin America and the Caribbean).
nedis
denotes Nadiza (also known as Natisone), a dialect of Slovenian. This tag must be used in conjunction with the language subtag for Slovenian, thus: sl-nedis
. In September 2009, the IETF issued a Request for Comments (RFC) that (amongst other things) proposes that dialects be represented by language extension subtags attached to language subtags.[13]
fr-1606nicot
(French as documented by Jean Nicot in 1606), de-1901
(German spelling codified by the 2nd Orthographic Conference in 1901) and be-1959acad
(Belarusian as codified by the Orthography Commission in 1959).
zh-Latn-wadegile
is Chinese written in the Latin alphabet, according to the transliteration system developed by Thomas Wade and Herbert Giles; ja-Latn-hepburn
is Japanese written in the Latin alphabet using the transliteration system of James Curtis Hepburn.
Revision History | ||||
---|---|---|---|---|
Revision 1.1 | Thu Oct 22 2009 | |||
| ||||
Revision 1.0 | Tue Oct 13 2009 | |||
| ||||
Revision 0.5 | Thu Dec 18 2008 | |||
| ||||
Revision 0.4 | Tue Nov 25 2008 | |||
| ||||
Revision 0.3 | Fri Oct 10 2008 | |||
| ||||
Revision 0.2 | Fri Sep 05 2008 | |||
| ||||
Revision 0.1.1 | Fri Jun 06 2008 | |||
| ||||
Revision 0.1 | Fri May 16 2008 | |||
| ||||
Revision 0.0 | Thu Dec 13 2007 | |||
|