Przejdź do zawartości

Wikipedysta:Milowerk/brudnopis

Z Wikibooks, biblioteki wolnych podręczników.

Przerwy

[edytuj]

Space between words and sentences

[edytuj]

To get a straight right margin in the output, LaTeX inserts varying amounts of space between the words. By default, it also inserts slightly more space at the end of a sentence. However, the extra space added at the end of sentences is generally considered typographically old-fashioned in English language printing. (The practice is found in nineteenth century design and in twentieth century typewriter styles.) Most modern typesetters treat the end of sentence space the same as the interword space. (See for example, Bringhurst's Elements of Typographic Style.) The additional space after periods can be disabled with the command

\frenchspacing

which tells LaTeX not to insert more space after a period than after ordinary character. Frenchspacing can be turned off later in your document via the Szablon:LaTeX/LaTeX command.

If an author wishes to use the wider end-of-sentence spacing, care must be exercised so that punctuation marks are not misinterpreted as ends of sentences. TeX assumes that sentences end with periods, question marks or exclamation marks. Although if a period follows an uppercase letter, this is not taken as a sentence ending, since periods after uppercase letters normally occur in abbreviations. Any exception from these assumptions has to be specified by the author. A backslash in front of a space generates a space that will not be enlarged. A tilde ‘Szablon:LaTeX/LaTeX’ character generates a non-breaking space. The command Szablon:LaTeX/LaTeX in front of a period specifies that this period terminates a sentence even when it follows an uppercase letter. (If you are using Szablon:LaTeX/LaTeX, then none of these exceptions need be specified.)

Stretched spaces

[edytuj]

You can insert a horizontal stretched space with Szablon:LaTeX/LaTeX in a line so that the rest gets "pushed" toward the right margin. For instance this may be useful in the header.

Author Name \hfill \today

Similarly you can insert vertical stretched space with Szablon:LaTeX/LaTeX. It may be useful for special pages.

\maketitle
\vfill
\tableofcontents
\clearpage

\section{My first section}
% ...

See Lengths for more details.

Manual spacing

[edytuj]

The spaces between words and sentences, between paragraphs, sections, subsections, etc. is determined automatically by LaTeX. It is against LaTeX philosophy to insert spaces manually and will usually lead to bad formatting. Manual spacing is a matter of macro writing and package creation.

See Lengths for more details.

Hyphenation

[edytuj]

LaTeX hyphenates words whenever necessary. Hyphenation rules will vary for different languages. LaTeX only supports english by default, so if you want to have correct hyphenation rules for your desired language, see Internationalization.

If the hyphenation algorithm does not find the correct hyphenation points, you can remedy the situation by using the following commands to tell TeX about the exception. The command Szablon:LaTeX/Usage causes the words listed in the argument to be hyphenated only at the points marked by “-”. The argument of the command should only contain words built from normal letters, or rather characters that are considered to be normal letters by LaTeX. It is known that the hyphenation algorithm does not find all correct American English hyphenation points for several words. A log of known exceptions is published periodically in the TUGboat journal. (See a 2008 list: http://www.tug.org/TUGboat/Articles/tb29-2/tb92hyf.pdf)

The hyphenation hints are stored for the language that is active when the hyphenation command occurs. This means that if you place a hyphenation command into the preamble of your document it will influence the English language hyphenation. If you place the command after the Szablon:LaTeX/LaTeX} and you are using some package for national language support like babel, then the hyphenation hints will be active in the language activated through babel. The example below will allow “hyphenation” to be hyphenated as well as “Hyphenation”, and it prevents “FORTRAN”, “Fortran” and “fortran” from being hyphenated at all. No special characters or symbols are allowed in the argument. Example:

\hyphenation{FORTRAN Hy-phen-a-tion}

The command Szablon:LaTeX/LaTeX inserts a discretionary hyphen into a word. This also becomes the only point where hyphenation is allowed in this word. This command is especially useful for words containing special characters (e.g., accented characters), because LaTeX does not automatically hyphenate words containing special characters.

\begin{minipage}{2in}
I think this is: su\-per\-cal\-%
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-i\-do\-cious
\end{minipage}
|render=<math>\begin{array}{l}\mbox{I think this is: supercalifragi-}\\
\mbox{listicexpialidocious}\end{array}</math>

LaTeX does not hyphenate compound words that contain a dash[1]. There are two packages that can add back flexibility. The Szablon:LaTeX/Package package supplies the Szablon:LaTeX/LaTeX command. This command typesets the dash and then subjects the constituent words to automatic hyphenation. After loading the package:

\usepackage{hyphenat}

one should write, instead of electromagnetic-endioscopy:

electromagnetic\hyp{}endioscopy

The Szablon:LaTeX/Package package also offers features for controlling the hyphenation of compound words containing dashes — as opposed to the words themselves which it leaves to LaTeX. The Szablon:LaTeX/LaTeX option enables a more compressed syntax:

\usepackage[shortcuts]{extdash}

Typical usage is as follows, assuming the compressed syntax. In both cases, LaTeX can break and hyphenate the constituent words, but in the latter case, it will not break after the L:

electromagnetic\-/endioscopy
L\=/approximation

One or more words can be kept together on the one line with the standard LaTeX command:

\mbox{text}

This prevents hyphenation and causes its argument to be kept together under all circumstances. For example:

My phone number will change soon. It will be \mbox{0116 291 2319}.

Szablon:LaTeX/LaTeX is similar to Szablon:LaTeX/LaTeX, but in addition there will be a visible box drawn around the content.

To avoid hyphenation altogether, the penalty for hyphenation can be set to an extreme value:

\hyphenpenalty=100000

You can change the degree to which LaTeX will hyphenate by changing the value of Szablon:LaTeX/LaTeX and Szablon:LaTeX/LaTeX. You'll have to experiment with the values to achieve the desired effect. A document which has a low tolerance value will cause LaTeX not to tolerate uneven spacing between words, hyphenating words more frequently than in documents with higher tolerances. Also note that using a higher text width will decrease the probability of encountering badly hyphenated word. For example adding

\usepackage{geometry}

will widen the text width and reduce the amount of margin overruns.

Quote-marks

[edytuj]

LaTeX treats left and right quotes as different entities. For single quotes, ` (on American keyboards, this symbol is found on the tilde key (adjacent to the number 1 key on most) gives a left quote mark, and ' is the right. For double quotes, simply double the symbols, and LaTeX will interpret them accordingly. (Don't use the " for right double quotes: when the babel package is used for some languages (e.g. Dutch), the " is redefined to produce an umlaut accent; using " for right double quotes will either lead to bad spacing or it being used to produce an umlaut). On British keyboards, ' ` ' is left of the ' 1 ' key and shares the key with ' ¬ ', and sometimes ' ¦ ' or ' | '. The apostrophe (') key is to the right of the colon/semicolon key and shares it with the ' @ ' symbol.


Szablon:LaTeX/LaTeX

Szablon:LaTeX/LaTeX

Szablon:LaTeX/LaTeX

Szablon:LaTeX/LaTeX

Szablon:LaTeX/LaTeX

Szablon:LaTeX/LaTeX

The right quote is also used for apostrophe in LaTeX without trouble.

For left bottom quote and European quoting style you need to use T1 font encoding enabled by:

\usepackage[T1]{fontenc}

See Fonts for more details on font encoding.

The package Szablon:LaTeX/Package offers a multi-lingual solution to quotations, with integration to citation mechanisms offered by BibTeX. This package allows one for example to switch languages and quotation styles according to babel language selections.

Diacritics and accents

[edytuj]

Most accents and diacritics may be inserted with direct keyboard input by configuring the preamble properly. For symbols unavailable on your keyboard, diacritics may be added to letters by placing special escaped metacharacters before the letter that requires the diacritic.

See Special Characters.

Margin misalignment and interword spacing

[edytuj]

Some very long words, numbers or URLs may not be hyphenated properly and move far beyond the side margin. One solution for this problem is to use Szablon:LaTeX/Environment environment, which tells LaTeX to adjust word spacing less strictly. As a result, some spaces between words may be a bit too large, but long words will be placed properly.

This is a paragraph with
a very long word ABCDEFGHIJKLMNOPRST;
then we have another bad thing
--- a long number 1234567890123456789.

\begin{sloppypar}
This is a paragraph with
a very long word ABCDEFGHIJKLMNOPRST;
then we have an another bad thing
--- a long number 1234567890123456789.
\end{sloppypar}
|render=
[[Image:LaTeX sloppypar.png|450px|border]]

Ligatury

[edytuj]

LaTeX automatycznie zamienia w tekście określone kombinacje liter (fi, fl, ff) na ligatury – znaki ze "zlanych" ze sobą liter używane w profesjonalnym druku. Jeśli nie chcemy takiego zachowania, możemy rozdzielić litery tworzące ligaturę nawiasami klamrowymi.

Some letter combinations are typeset not just by setting the different letters one after the other, but by actually using special symbols (like "ff"), called ligatures. Ligatures can be prohibited by inserting Szablon:LaTeX/LaTeX or, if this does not work, Szablon:LaTeX/LaTeX between the two letters in question. This might be necessary with words built from two words. Here is an example:

\Large Not shelfful\\
but shelf{}ful



Some tools are unable to perform search in documents that contain ligatures (a search for "finally" wouldn't find the string "nally"). If one desires, for greater accessibility, to disable ligatures altogether in the whole document, the Szablon:LaTeX/LaTeX from the microtype package can be used:

\usepackage{microtype}
\DisableLigatures{encoding = *, family = *}

Note that this will also disable ligatures such as "--" to "–", "---" to "—", etc.

If you are using XeLaTeX and OpenType fonts, the fontspec package allows for standard ligatures to be turned off as well as fancy swash ligatures to be turned on.

Another solution is to use the Szablon:LaTeX/Package package, which will help the reader to interpret the ligatures:

\usepackage[resetfonts]{cmap}

Slash marks

[edytuj]

The normal typesetting of the Szablon:LaTeX/LaTeX character in LaTeX does not allow following characters to be "broken" on to new lines, which often create "overfull" errors in output (where letters push off the margin). Words that use slash marks, such as "input/output" should be typeset as "Szablon:LaTeX/LaTeX", which allow the line to "break" after the slash mark (if needed). The use of the Szablon:LaTeX/LaTeX character in LaTeX should be restricted to units, such as "Szablon:LaTeX/LaTeX", which should not be broken over multiple lines.

Fonts

[edytuj]

To change the font family, emphasize text, and other font-related issues, see Fonts.

Formatting macros

[edytuj]

Even if you can easily change the output of your fonts using those commands, you're better off not using explicit commands like this, because they work in opposition to the basic idea of LaTeX, which is to separate the logical and visual markup of your document. This means that if you use the same font changing command in several places in order to typeset a special kind of information, you should use Szablon:LaTeX/LaTeX to define a "logical wrapper command" for the font changing command.

\newcommand{\oops}[1]{\textit{#1}<!---->}

Do not \oops{enter} this room,
it’s occupied by \oops{machines}
of unknown origin and purpose.
|render=
Do not ''enter'' this room, it’s occupied by ''machines'' of unknown origin and purpose.

This approach has the advantage that you can decide at some later stage that you want to use some visual representation of danger other than Szablon:LaTeX/LaTeX, without having to wade through your document, identifying all the occurrences of Szablon:LaTeX/LaTeX and then figuring out for each one whether it was used for pointing out danger or for some other reason.

See Macros for more details.

Text mode superscript and subscript

[edytuj]

To superscript text in text-mode, you can use the Szablon:LaTeX/LaTeX command. This allows you to, for instance, typeset 6th as 6th:

Michelangelo was born on March 6\textsuperscript{th}, 1475.

Subscripting in text-mode is not supported by LaTeX alone; however, several packages allow the use of the Szablon:LaTeX/LaTeX command. For instance, bpchem, KOMA-Script2, and fixltx2e all support this command. Of these, fixltx2e is perhaps the most universal option since it is distributed with LaTeX and requires no additional packages to be implemented.

% In your preamble, add:
\usepackage{fixltx2e}
...

% In your document:
It is found that height\textsubscript{apple tree} is
different than height\textsubscript{orange tree}.
|render=
<math>\text{It is found that height}_\text{apple tree}\text{ is different than height}_\text{orange tree}\text{.}\,</math>

If you do not load a package that supports Szablon:LaTeX/LaTeX, the math mode must be used. This is easily accomplished in running text by bracketing your text with the Szablon:LaTeX/LaTeX symbol. In math mode subscripting is done using the underscore: Szablon:LaTeX/LaTeX.

For example, the formula for water is written as:

H$_2$O is the formula for water
|render=
<math>\text{H}_2\text{O is the formula for water}</math>

Note that in math mode text will appear in a font suitable for mathematical variables. In math mode, to generate roman text, for example, one would use the Szablon:LaTeX/LaTeX command:

This is $\mathrm{normal\ roman\ and}_\mathrm{subscript\ roman}$ text
|render=
<math>\text{This is }\mathrm{normal\ roman\ and}_\mathrm{subscript\ roman}\text{  text}</math>

Note the use of \<space> to insert a space in math mode.

Similarly, you can superscript using:

This is $\mathrm{normal\ roman\ and}^\mathrm{superscript\ roman}$ text
|render=
<math>\text{This is }\mathrm{normal\ roman\ and}^\mathrm{superscript\ roman}\text{  text}</math>

A very common use of subscripts within the text environment is to typeset chemical formulae. For this purposes, a highly recommended package is mhchem. This package is easy to use, and works with your text fonts (rather than math fonts). To insert a chemical formula, use Szablon:LaTeX/LaTeX with the text-equivalent formula, for example:

% In your preamble, add:
\usepackage[version=3]{mhchem}
...

% In your document:
Ammonium sulphate is \ce{(NH4)2SO4}.
|render=
[[Image:Ammonium sulphate mhchem.png]]

See also Chemical Graphics for chemical symbols and formulas.

Text figures ("old style" numerals)

[edytuj]

Many typographers prefer to use titling figures, sometimes called lining figures, when numerals are interspersed with full caps, when they appear in tables, and when they appear in equations, using text figures elsewhere. LaTeX allows this usage through the Szablon:LaTeX/LaTeX command:

\oldstylenums{1234567890}

Some fonts do not have text figures built in; the Szablon:LaTeX/Environment package attempts to remedy this by effectively generating text figures from the currently-selected font. Put Szablon:LaTeX/LaTeX in your preamble. Szablon:LaTeX/Environment also allows you to use decimal points, properly formatted dollar signs, etc. within Szablon:LaTeX/LaTeX.

One common use for text figures is in section, paragraph, and page numbers. These can be set to use text figures by placing some code in your preamble:

\usepackage{textcomp}

% Enclose everything in an \AtBeginDocument{}
\AtBeginDocument{%
  % Make \section{} use text figures
  \let\myTheSection\thesection
  \renewcommand{\thesection}{ \oldstylenums{\myTheSection} }

  % Make \paragraph{} use text figures
  \let\myTheParagraph\theparagraph
  \renewcommand{\theparagraph}{ \oldstylenums{\myTheParagraph} }

  % Make the page numbers in text figures
  \let\myThePage\thepage
  \renewcommand{\thepage}{ \oldstylenums{\myThePage} }
}

Should you use additional sectioning or paragraphing commands, you may adapt the previous code listing to include them as well.

Note

A subsequent use of the Szablon:LaTeX/LaTeX command, e.g., Szablon:LaTeX/LaTeX, will reset the Szablon:LaTeX/LaTeX command back to the original. Thus, if you use the Szablon:LaTeX/LaTeX command in your document, be sure to reinstate your Szablon:LaTeX/LaTeX from the code above:

...
\tableofcontents
\pagenumbering{roman}
\chapter{Preface}
...
\chapter{Introduction}
...
\pagenumbering{arabic}
% without this, the \thepage command will not be in oldstyle (e.g., in your Table of Contents}
\renewcommand{\thepage}{ \oldstylenums{\myThePage} }
\Chapter{Foo}
...

Dashes and hyphens

[edytuj]

LaTeX knows four kinds of dashes: a hyphen (-), en dash (–), em dash (—), or a minus sign (−). You can access three of them with different numbers of consecutive dashes. The fourth sign is actually not a dash at all—it is the mathematical minus sign:

Hyphen: daughter-in-law, X-rated\\
En dash: pages 13--67\\
Em dash: yes---or no? \\
Minus sign: $0$, $1$ and $-1$
|render=
[[Image:Latex dashes example.png|200px]]

The names for these dashes are: ‘-’(-) hyphen , ‘--’(–) en-dash , ‘---’(—) em-dash and ‘’(−) minus sign. They have different purposes:

Use Szablon:LaTeX/LaTeX macro from Szablon:LaTeX/Package package instead of hyphen if you want LaTeX to break compound words between lines.

Ellipsis (…)

[edytuj]

A sequence of three dots is known as an ellipsis, which is commonly used to indicate omitted text. On a typewriter, a comma or a period takes the same amount of space as any other letter. In book printing, these characters occupy only a little space and are set very close to the preceding letter. Therefore, you cannot enter ‘ellipsis’ by just typing three dots, as the spacing would be wrong. Instead, there is a special command for these dots. It is called Szablon:LaTeX/LaTeX:

Not like this ... but like this:\\
New York, Tokyo, Budapest, \ldots
|render=
[[Image:Latex example text dots.png|200px]]

Alternatively, you can use the Szablon:LaTeX/LaTeX command which allows the spacing between the dots to vary.

Ready-made strings

[edytuj]

There are some very simple LaTeX commands for typesetting special text strings:


Przypisy

  1. Szablon:LaTeX/Package package documentation, p3