/ .. / / -> download
NAME
====

s1kd2pdf - Create a PDF from S1000D data

SYNOPSIS
========

    s1kd2pdf [-c <CFG>] [-s <XSL>] [-d <XSL>] [-o <out>] [-DFISh?] <src>
             [<param>...]

DESCRIPTION
===========

The *s1kd2pdf* command will create a PDF from S1000D data modules or
publications using the S1000D XSL Stylesheets, xsltproc, and Apache FOP.

OPTIONS
=======

-c <CFG>  
Specify a FOP XML configuration file. By default, /etc/fop.xml will be
used (if it exists).

-D  
Generate template XSLT for a custom DocBook-to-FO stylesheet (-d).

-d <XSL>  
Use a custom stylesheet for DocBook-to-FO conversion.

-F  
Output the generated XSL-FO instead of a PDF.

-I  
Output Apache FOP intermediary format instead of a PDF.

-o <out>  
Output to <out> instead of <src>.pdf (or <src>.fo if
the -F option is used).

-S  
Generate template XSLT for a custom S1000D-to-DocBook stylesheet (-s).

-s <XSL>  
Use a custom stylesheet for S1000D-to-DocBook conversion.

<src>  
Source S1000D module to create a PDF from.

<param>...  
xsltproc parameters to pass to both stylesheets.

Adding customizations to the stylesheets
----------------------------------------

To add project-specific customizations to the PDF output:

1.  Use the -D/-S options to create a template XSLT file which imports
    the installed default stylesheets.

2.  Add customizations to this file.

3.  Use the -d/-s options to apply this custom stylesheet.

Example:

    $ s1kd2pdf -S > custom.xsl

    <?xml version="1.0"?>
    <xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:import href="/path/to/original/stylesheet.xsl"/>

    <!-- Present verbatimText type vs51 as green. -->
    <xsl:template match="verbatimText[@verbatimStyle = 'vs51']">
    <fo:inline color="green">
    <xsl:apply-imports/>
    </fo:inline>
    </xsl:template>

    </xsl:stylesheet>

    $ s1kd2pdf -s custom.xsl ...

PARAMETERS
==========

The following parameters can be supplied at the end of the command with
the -param or -stringparam flags to customize the PDF output:

applic.prefix  
The prefix before applicability annotations. Default is "Applicable to:
".

auto.expand.acronyms  
Choose how to expand acronyms:

-   "no" - Only show the term

-   "before" - Show the definition followed by the term in parentheses
    (default)

-   "after" - Show the term followed by the definition in parentheses

bridgehead.in.toc  
Whether to include default headings in each data module's TOC.

data.module.index  
Include an index section in each data module.

date.time  
When set, add the "Printed $date.time" statement to the left margin.

definition.list.term.width  
Width of the term column in a definition list.

double.sided  
Whether to use alternating headers/footers for double-sided printing.

end.of.data.module.position  
Where to present the "End of data module" statement.

end.of.text  
How the text of the "End of data module" statement is determined.

external.pub.ref.inline  
How external publication references are presented.

font.family  
The default font family for all elements.

footer.show.applic  
Whether to show the "Applicability" statement in the footer.

footer.show.dmc  
Whether to show the data module code in the footer.

footer.show.end.of.data.module  
Whether to show the "End of data module" statement in the footer.

footer.show.security  
Whether to show the security statement in the footer.

footnote.font.size  
The font size of a footnote.

front.matter.info.codes  
Descriptive data modules with any of these info codes are presented as
front matter.

generate.barcode  
Use the barCodeCode element of the title page to generate a barcode
graphic using Barcode4j if no barCodeSymbol element is included.

generate.display.text  
If set to "0", display text for applicability annotations that have none
will not be automatically generated, and no annotation will be displayed
on elements referencing it.

generate.highlights  
Generate a Highlights section when encountering a descriptive data
module with info code 00U.

generate.index  
Generate an index when encountering a descriptive data module with info
code 014.

generate.list.of.datamodules  
Generate a List of effective data modules when encountering a
descriptive data module with info code 00S.

generate.list.of.illustrations  
Generate a List of illustrations when encountering a descriptive data
module with info code 00A.

generate.list.of.tables  
Generate a List of tables when encountering a descriptive data module
with info code 00Z.

generate.table.of.contents  
Generate a Table of contents when encountering a descriptive data module
with info code 009.

generate.title.page  
Generate a Title page when encountering a descriptive data module with
info code 001.

generated.hierarchical.toc.indent  
The indentation of each level of the hierarchical table of contents.

header.show.security  
Whether to show the security statement in the header.

hide.deleted.content  
-   "0" - Present "deleted" content as struck-through.

-   "1" - Hide "deleted" content.

hide.empty.proced.rqmts  
Hide empty tables in the preliminary requirements section.

hide.empty.refs.table  
Hide the References table if it is empty.

hierarchical.table.of.contents  
Generate a hierarchical table of contents.

highlight.applic  
Highlight applicability statements by colouring them blue.

include.pmentry.bookmarks  
Include pmEntry levels and titles in the PDF bookmarks.

include.title.in.toc  
Whether and how to include the data module title in the data module's
TOC.

index.type  
What kind of index to generate.

part.no.prefix  
Prefix part numbers with the text "Part No."

printedin.blurb  
When set, adds a "Printed in" statement after the "Published by"
statement, indicating the country the document was produced in.

printedin.blurb.before  
The text between the "Produced by" and the "Printed in" statements.

producedby.blurb  
Set the "Produced by" statement for the whole publication manually,
rather than deriving it from each data module's responsible partner
company.

producedby.blurb.before  
The text label of the "Produced by" statement.

producedby.blurb.on.titlepage  
Whether or not to show the "Produced by" statement on the title page.
Often this can be redundant as the title page also includes the name of
the producer.

publication.code  
Set the publication code manually instead of using the one derived from
the publication module.

quantity.decimal.format  
The format to use when presenting quantity values.

-   "SI" - comma for decimal separator, space for grouping (default)

-   "imperial" - period for decimal separator, comma for grouping

quantity.decimal.separator  
Decimal separator in formatted quantity values.

quantity.format  
The picture string passed to format-number() when reformat.quantities =
custom.

quantity.grouping.separator  
Grouping separator in formatted quantity values.

reformat.quantities  
Controls whether and how quantities are reformatted for presentation.

-   "normal" - Use appropriate decimal separator, add thousands
    separators, preserve leading and trailing zeroes (default).

-   "custom" - Completely reformat all values using the format string
    $quantity.format. Removes leading and trailing zeroes.

-   "basic" - Use the appropriate decimal separator, preserve leading
    and trailing zeroes, but do not add thousands separators.

running.pagination  
Whether to use normal or running pagination.

running.pagination  
Whether to use normal or running pagination.

show.content.applic  
Whether content applicability annotations are shown.

-   "0" - Do not show content applicability annotations

-   "1" - Show content applicability annotations (default)

show.graphic.icn  
Whether to show the ICN below a graphic.

show.schema.heading  
Whether to include the default heading related to the S1000D schema of a
data module.

show.unclassified  
Whether to show the text "UNCLASSIFIED" when a document is not
classified.

simple.info.codes  
Descriptive data modules with these info codes will be presented with a
minimal stylesheet, without the standard lists, tables, or headings.

title.fontset  
Default font for titles.

title.page.barcode.symbology  
When title.page.barcode.value is specified, this is the type of barcode
to generate. Can either be one of the S1000D project configurable
attribute values for barCodeSymbology (e.g., bcs13) or the name of a
Barcode4j format (e.g., code128).

title.page.barcode.value  
When this is set, a barcode will be automatically generated for the
title page using the given value. The type of barcode can be specified
with title.page.barcode.symbology. If using a frontmatter schema title
page, this will override the barCode element.

title.page.illustration  
Product illustration to show on the title page. Can be used to provide
an illustration when the title page is generated with a descriptive DM
placeholder (as opposed to a frontmatter DM) or to override the
illustration specified in a frontmatter title page DM.

title.page.illustration.height  
When title.page.illustration is specified, use this as the reproduction
height of the illustration.

title.page.illustration.scale  
When title.page.illustration is specified, use this as the reproduction
scale of the illustration.

title.page.illustration.width  
When title.page.illustration is specified, use this as the reproduction
width of the illustration.

title.page.issue.date  
Show the issue date of the publication module on the generated title
page.

title.page.publisher  
Show the responsible partner company on the generated title page.

titled.labelled.para.toc  
Include "labelled paras" besides levelledPara in the data module's TOC.
For example, steps with titles.

toc.section.depth  
The depth of each data module's TOC.

ulink.footnotes  
Whether to present external publication hyperlinks as footnotes.

ulink.show  
Whether to show external publication hyperlinks inline.

use.unparsed.entity.uri  
Use the unparsed entity URI to resolve an ICN reference rather than the
InfoEntityResolver and info-entity-map concept.

want.inwork.blurb  
Whether to include a statement in the left margin when a data module is
a draft issue.

want.producedby.blurb  
Whether to include the "Produced by" statement in the left margin.

EXAMPLE
=======

    $ s1kd2pdf -o test.pdf test.xml -param show.unclassified 0


/ gopher://khzae.net/0/s1000d/S1000D-XSL-Stylesheets/src/s1kd2pdf.README.md
Styles: Light Dark Classic