Files
business-suite/FEATURES.md
T

138 lines
13 KiB
Markdown
Raw Permalink Normal View History

# Features
The list is written from the point of view of whoever writes a document with the suite. Every entry is a feature that was ordered; nothing here was invented beside it.
## F1 Identity
The writer wants his document to look like his company without setting anything.
- **F1.1** A company declares its colours, faces and logo in one file, and the document template, the letter class and the presentation theme of that company read that one file.
- **F1.7** That file carries the name of the company, and a document of the company loads it in one line. With `plain` it gives the identity, the logo and the two marks of a table without the page of a document.
- **F1.8** The three templates carry no colour and no face of their own, and a test fails on the first one they would carry.
- **F1.2** The suite carries no colour value, no font name and no file name of any company, so it can be published while the companies stay private.
- **F1.3** A colour is declared as a role and assigned by the company; a role takes a palette entry or a mixture of two.
- **F1.4** `success` and `fail` are roles outside the palette, with defaults of their own.
- **F1.5** The company calls fontspec itself and declares the default family, the emphasis face, the symbol family and whether its face has small capitals; the encoding travels with the family.
- **F1.6** A document may override the name, the address, the URL and the logo of its company as a package option.
## F2 The logo
The writer wants the logo of his company wherever he needs it, in the form that fits the place.
- **F2.1** `\logo` sets the logo; `\businesslogo` is the same command where another package owns the short name.
- **F2.2** Forms: the lockup, the icon alone, the name alone, and each of them with the address line under it and with or without the link.
- **F2.3** Formats: PDF, EPS, PNG and JPEG are resolved from a name without an extension.
- **F2.4** A company that draws its logo hands over a command instead of a file; the colour the caller asked for reaches the drawing.
- **F2.5** Without a height the lockup stands at 1.25em, the height at which the name beside the icon is the size of the running text it stands in.
- **F2.6** The address line is as wide as the logo above it, at every height and for every address.
- **F2.7** The icon sits at the height where its middle meets the middle of the block of text beside it, whether that block has one line or two.
- **F2.8** The block keeps the baseline of the name: wherever it stands, the name sits on the line of that place and the icon reaches above and below it. A block of two lines hands over the baseline of the first.
- **F2.13** The tagline is set to the size at which it is exactly as wide as the name over it, so the block has one left edge and one right edge whatever the sentence says.
- **F2.14** The icon is set as high as the block of text beside it, and its width follows from the proportions of its own drawing.
- **F2.15** Each of the two measured sizes has one key that overrides it: a factor for the tagline, a height or a width for the icon. Never both sizes of the icon at once, and a width reaches a drawing as well as a file.
- **F2.9** A company may set a second line under its name: the logo then stands beside a block of two lines, both flush left with each other, and is centred on the two. The space between the two lines is an option.
- **F2.12** The block has one colour, the colour of the logo, and it is set once for the block. A face or a colour for one of the two lines is a deviation a company asks for with one key; where it asks for none, nothing is set for that line and it stands in the colour of the name over it.
- **F2.10** Where the tagline stands is the template's decision, as with the address line: the page head, the head of a letter and the title slide of a deck ask for it, and a logo in running text stays one line.
- **F2.11** A logo file that already carries the name gets the tagline under the file, flush right to its width.
## F3 The page
The writer wants a reader to know where he is, on every page.
- **F3.1** The logo stands top right, with the address line under it on the first page and without it on every other.
- **F3.2** The two open headings stand top left, the first level above and the second below it, the upper one darker and in the emphasis face.
- **F3.3** The page number with the length of the document stands at the foot right.
- **F3.4** The room the head needs is measured at the head; an option overrides it.
- **F3.5** The lockup of the page head stands at the height of the family, the one every template of the company uses; an option overrides it.
- **F3.9** The heading in the head and the name beside the logo stand on one text line, whatever sizes the two are.
- **F3.10** The room the foot needs is measured at the foot, on every document and not only where the inner corner carries something.
- **F3.6** The margins and the distance between head and text are options with 1cm and one line as defaults.
- **F3.7** `nologo` leaves the logo out of the page; `plain` loads the identity and the logo command and no layout at all.
- **F3.8** `\businessfootleft` puts anything the document wants into the inner corner of the foot: a second logo, a classification, the name of a series. Where it is taller than the line the foot reserves, the page reserves the room for it.
- **F3.11** Between the lower edge of the head and the upper edge of the text stands exactly one line of the body text, and the same line between the lower edge of the text and the upper edge of the foot, whatever the head and the foot carry.
- **F3.13** The page reserves the room for the head again whenever the company changes what stands in it, so an identity declared after the template was loaded still fits.
- **F3.12** The first line of a page begins at the upper edge of the text block, so the distance under the head is the line it is defined as and not a line and a bit.
## F4 The title block
- **F4.1** `\maketitle` sets the title, and the author and the date where the document gives them. The logo stands in the head of the page, as it does on every other page, and never in the title block.
- **F4.2** The page with the title block carries the same head and the same page number as every other page.
- **F4.3** The distance under the title block belongs to the block: a document that opens with a heading gets the same as one that opens with a paragraph, and the heading adds nothing to it.
## F5 Headings and page breaks
- **F5.1** A heading carries no number, and a starred heading feeds the running head like any other.
- **F5.2** Over a heading stands one line and a half of the body text, under it half a line, on every level: the three to one a heading needs, read off the document the family works from.
- **F5.3** A heading reserves eight lines, so it never stands alone at the foot of a page.
- **F5.10** A heading directly under a heading reserves nothing of its own and takes over the room of the one above it, so the page never breaks between two headings.
- **F5.4** A heading followed by a table reserves what that table measures at itself, written into the aux file and read back on the next run.
- **F5.5** A sentence that announces a table or a list is held to it with `\businessleadin` and `\businesstogether`.
- **F5.6** Every level a converter can produce takes the reservation, the fourth and the fifth included.
- **F5.7** A single line of a paragraph never stands alone at a page break.
- **F5.8** A paragraph whose line fits nowhere may stretch its spaces by one em rather than let a word stand outside the page.
- **F5.9** The right edge of a paragraph stands on the margin; punctuation hangs into it only where a company asks for that.
- **F5.11** The space between two paragraphs may stretch by half a line, so a page ends where every other page ends; the amount is an option.
## F6 Tables and pictures
- **F6.1** `\businesstablehead` marks a head cell, `\businessrowrule` draws the line between two rows.
- **F6.2** A table that runs over a page break leaves no error in the build log.
- **F6.9** The room over and under a rule of a table follows the face the company set, not the one LaTeX starts with.
- **F6.3** A picture goes where it fits and carries its caption under it without a number.
- **F6.5** `\businessgraphic` sets a picture at the size of the family: upright the full width of the line and at most half the text height, lying the full free height of the page and at most the full width, both centred and in proportion. A picture given a size of its own keeps it.
- **F6.6** A raster picture is enlarged at most twice over; a drawing as far as the rules allow.
- **F6.7** A picture that would leave more than a quarter of the page empty is made small enough to stand on it.
- **F6.8** The six shares of a picture are options of the template.
- **F6.4** A picture directly under a heading does not float away from it.
## F7 Signs
- **F7.1** `\success` and `\fail` set the two marks; six characters reach the same two commands.
- **F7.2** Nineteen further signs are asked at the font in force and taken from the symbol family only where the company face does not carry them.
## F8 Metadata
- **F8.1** The title, the author and the language of the document stand in the XMP stream of the PDF, from the document itself.
- **F8.2** What the document declares wins; the template fills only what it left open.
- **F8.3** Every heading is a destination under its own name, so a link from outside lands on the section.
- **F8.4** A link carries no frame and no colour.
- **F8.5** The PDF opens with its outline beside it.
## F9 The letter
- **F9.1** The German business letter on `g-brief2`, with the logo of the company at the right edge of the head and the address line under it.
- **F9.7** From the second page on, the head carries the page number and the date on the left and the bare logo on the right, on one line.
- **F9.2** The fields keep the names `g-brief2` gives them.
- **F9.3** `\Unterschriftsbild` prints a signature in place of the strip the class leaves for a handwritten one.
- **F9.4** `\businessnowindow` is the letter that goes out as a PDF: no window, no folding marks, no return line, and an address field measured at the address of this letter.
- **F9.5** The language and the size are class options and reach `g-brief2` as exactly one option each.
- **F9.6** No encoding option reaches the class, so it loads no `inputenc` beside the Unicode encoding of the fonts.
## F10 The presentation
- **F10.1** A company writes a theme of two lines and a deck writes `\usetheme{company}`.
- **F10.2** The navigation is beamer's own sidebar theme with its own options.
- **F10.3** The colours are the same roles the document and the letter read.
- **F10.4** The title slide carries the logo unless the deck puts a picture of its own there.
- **F10.5** `titleprefix`, `canvas` and `nosectionframe` are the options a company sets.
## F11 Markdown to PDF
- **F11.1** One converter for every company, with the identity as its argument.
- **F11.2** The design is the template: pandoc gets two lines of preamble and nothing else.
- **F11.3** The column widths of a table are computed from a line width and a character width measured in a probe document with the identity of the company.
- **F11.4** A table wider than the line gets relative column widths and, where the words do not fit side by side, one step of a smaller face.
- **F11.5** A path or an identifier in the running text breaks where a reader reads a boundary, without a hyphen.
- **F11.6** A picture alone in its paragraph gets its caption under it; an SVG is converted before the LaTeX run.
- **F11.7** A `<details>` block is left out, its summary line included.
- **F11.8** A link to a Markdown file of the same set points at the PDF of that file.
- **F11.9** The language is read off the text where the document names none.
- **F11.10** A sentence that announces a table gets its reservation from the converter.
- **F11.11** The PDF is written beside its source; what the build produced is thrown away unless `--keep-tex` says otherwise.
- **F11.13** A document out of Markdown is the document out of LaTeX: the same content stands in the same places on the page.
- **F11.12** A formula arrives as a formula, in a sentence and on a line of its own, also written over several lines: such a block is joined into one line before the reader sees it, and the converter reports how many it joined. Inside a fenced code block nothing is touched.
## F12 Blocks
- **F12.1** `businesscolumns` sets cells of equal width side by side, the width measured from the line and the number of columns, the gap one line of the body text.
- **F12.2** `\businessuse` uses a block that lies in the TeX tree by its name instead of copying it.