1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
latex-uni8: Universal inputenc, fontenc and babel for pdflatex + lualatex
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
uni8.sty is a LaTeX style file which makes it easy to use input encoding
(UTF-8 by default, can be changed), fontspec.sty (optional), font
encoding (T1 if fontspec.sty is not used), babel (English language by
default), hyphenation, underline (with soul.sty), default text and math
fonts (Computer Modern or Times) and paper sizes correctly with both
pdflatex and lualatex.
How to use:
\documentclass{article}
\usepackage{uni8}
...
\begin{document}
...
\end{document}
See the project page https://github.com/pts/latex-uni8 for example files
and the latest updates.
The name uni8 is an abbreviation of: universal UTF-8 and 8-bit input
encoding. It indicates that uni8.sty can set up UTF-8 (utf8) and legacy
8-bit input encodings (e.g. latin1, latin2) correctly in many environments
(pdflatex or lualatex, with or without fontspec.sty, T1 or Unicode font
encoding).
Limitations:
* \showhyphens doesn't display accented characters correctly in the console
log. With pdflatex on an UTF-8 console all non-ASCII characters are wrong.
With lualatex on an UTF-8 console with T1 font encoding some non-ASCII
characters (e.g. ő and ű) are wrong: the ones which are at a different
location in Unicode and T1 encoding.
uni8.sty takes care of the following:
* It sets up font families (text: main, sans and mono; also math): Computer
Modern (implemented using Latin Modern) by default, and it's possible to
select Times + Helvetica + Courier (implemented using TeX Gyre and mathptmx)
instead.
* It sets up input encoding (UTF-8 is the default, it does
\usepackage[utf8]{inputenc} or a variation of that).
* It sets the page size based on \documentclass[a4paper]{article} etc.
* \usepackage[english]{babel} (this includes setting up hyphenation).
If you want a different language, then do someting like
\PassOptionsToPackage{hungarian}{babel} before \usepackage{uni8}.
* \usepackage{soul} (or a variation of it, if available).
* It makes the \ul command (as defined in soul.sty) should just work with
footnotes and automatic hyphenation as well.
* It makes \hyphenation{...} exceptions work properly, even with accented
characters specified the usual way (encoded with the input encoding, UTF-8
by default). (For lualatex, it also makes \patterns{...} work similarly.)
* It makes sure that magyar.ldf (if \PassOptionsToPackage{hungarian}{babel}
is used) doesn't print useless warnings about inputenc.sty or t1enc.sty.
* It sets up font encoding (like T1 encoding with \usepackage{t1enc} if
needed).
Usage recommendations and best practices:
* Use \usepackage{uni8} with pdflatex it possible.
* If you need lualatex, probaby you want to use Unicode fonts, thus use
\usepackage[fontspec]{uni8}. Configure fonts with \fontspec{...} and
\setmainfont{...} as usual. The default for for uni8 is cm (Latin Modern).
* \usepackage{uni8} also works with lualatex without fontspec.sty
(tested on TeX Live 2019), but for simplicity and increased backwards
compatibility (especially for magyar.ldf), use pdflatex instead of
lualatex-without-fontspec.sty if possible. The most fragile part of how
uni8.sty uses lualatex without fontspec.sty is setting up hyphenation
patterns with the T1 encoding.
Features:
* The default font (\usepackage[font=cm]) families are Computer Modern
(implemented using Latin Modern) by default.
* Use \usepackage[font=times] to use Times, Helvetica and Courier font
families (implemented using TeX Gyre and mathptmx).
* Use \usepackage[font=old-times] to use Times, Helvetica and Courier as
text and math default fonts (rather than Latin Modern, which is based on
Computer Modern). This uses the new old URW-based text fonts with
times.sty.
* Use \usepackage[inputenc=latin2] to use ISO-8859-2 input encoding. Most
users shouldn't need this nowaday, the UTF-8 default is better.
* Use \usepackage[inputenc=latin1] to use ISO-8859-1 input encoding. Most
users shouldn't need this nowaday, the UTF-8 default is better.
* uni8.sty is compatible with hyperref.sty, color.sty and xcolor.sty in both
pdflatex and lualatex.
* uni8.sty works with pdflatex, lualatex and latex (with .dvi
output).
How to install LaTeX on Debian Buster, with TeX Live 2019:
* To get the pdflatex command, run:
sudo apt-get install texlive-latex-base
* To get the lualatex command (and the minimal defaults for uni8.sty), run:
sudo apt-get install texlive-latex-base texlive-luatex
* To make [fontspec] (eqivalent to \usepackage{fontspec}) work, run:
sudo apt-get install texlive-latex-base texlive-luatex texlive-latex-recommended
* To make [font=times] work without [fontspec], run:
sudo apt-get install texlive-latex-base texlive-latex-recommended tex-gyre
* To make [font=times] work with [fontspec], run:
sudo apt-get install texlive-latex-base texlive-luatex fonts-texgyre texlive-latex-recommended
* To make \usepackage{soul} (automatically done by uni8.sty) work, run:
sudo apt-get install texlive-latex-base texlive-latex-extra
* To make \usepackage{lmodern} (automatically done by uni8.sty) work, run:
sudo apt-get install texlive-latex-base
* To make \PassOptionsToPackage{english,american,british}{babel} (and the
corresponding hyphenation) work, run:
sudo apt-get install texlive-latex-base
* To make \PassOptionsToPackage{german}{babel} work, run:
sudo apt-get install texlive-latex-base texlive-lang-german
* To make \PassOptionsToPackage{spanish}{babel} work, run:
sudo apt-get install texlive-latex-base texlive-lang-spanish
* To make \PassOptionsToPackage{french}{babel} work, run:
sudo apt-get install texlive-latex-base texlive-lang-french
* To make \PassOptionsToPackage{italian}{babel} work, run:
sudo apt-get install texlive-latex-base texlive-lang-italian
* To make \PassOptionsToPackage{hungarian}{babel} (and the corresponding
hyphenation) work, run:
sudo apt-get install texlive-latex-base texlive-lang-european
__END__
|