sp-tutorial 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +42 -0
- data/Rakefile +36 -0
- data/TODO +6 -0
- data/VERSION.yml +4 -0
- data/config.ru +15 -0
- data/lib/config.ru +15 -0
- data/lib/public/doc/Cyklop-otf-0_91.zip +0 -0
- data/lib/public/doc/ex/sp_lab01_zad.odt +0 -0
- data/lib/public/doc/ex/sp_lab02_zad.odt +0 -0
- data/lib/public/doc/ex/sp_lab03_zad.odt +0 -0
- data/lib/public/doc/ex/sp_lab04_zad.odt +0 -0
- data/lib/public/doc/latexsheet.pdf +0 -0
- data/lib/public/doc/survival.pdf +0 -0
- data/lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg +0 -0
- data/lib/public/images/alan_kay.jpg +0 -0
- data/lib/public/images/alan_perlis.jpg +0 -0
- data/lib/public/images/albert_einstein.jpg +0 -0
- data/lib/public/images/algorithm.png +0 -0
- data/lib/public/images/biuletyn-snall.jpg +0 -0
- data/lib/public/images/bop.jpg +0 -0
- data/lib/public/images/borenstein.jpg +0 -0
- data/lib/public/images/commits.png +0 -0
- data/lib/public/images/gitk-branches.png +0 -0
- data/lib/public/images/jkew.jpg +0 -0
- data/lib/public/images/jwz.gif +0 -0
- data/lib/public/images/knuth.jpg +0 -0
- data/lib/public/images/marcin_wolinski.jpg +0 -0
- data/lib/public/images/objects-example.png +0 -0
- data/lib/public/images/perlis.gif +0 -0
- data/lib/public/images/real_programmers.png +0 -0
- data/lib/public/images/richard_stallman.jpg +0 -0
- data/lib/public/images/sp.png +0 -0
- data/lib/public/images/sp.svg +117 -0
- data/lib/public/images/spowrotem.jpg +0 -0
- data/lib/public/images/staging_area.png +0 -0
- data/lib/public/images/the_thinker.jpg +0 -0
- data/lib/public/images/tparr.jpg +0 -0
- data/lib/public/images/wide-gitk.gif +0 -0
- data/lib/public/javascripts/sp.js +1 -0
- data/lib/public/stylesheets/fonts/Cyklop-Italic.otf +0 -0
- data/lib/public/stylesheets/icons/doc.png +0 -0
- data/lib/public/stylesheets/icons/email.png +0 -0
- data/lib/public/stylesheets/icons/external.png +0 -0
- data/lib/public/stylesheets/icons/feed.png +0 -0
- data/lib/public/stylesheets/icons/im.png +0 -0
- data/lib/public/stylesheets/icons/pdf.png +0 -0
- data/lib/public/stylesheets/icons/visited.png +0 -0
- data/lib/public/stylesheets/icons/xls.png +0 -0
- data/lib/public/stylesheets/ie.css +27 -0
- data/lib/public/stylesheets/print.css +30 -0
- data/lib/public/stylesheets/screen.css +249 -0
- data/lib/public/stylesheets/sp.css +194 -0
- data/lib/public/stylesheets/src/grid.png +0 -0
- data/lib/public/stylesheets/uv.css +121 -0
- data/lib/sp-tutorial.rb +78 -0
- data/lib/views/answers.rdiscount +7 -0
- data/lib/views/exercises.rdiscount +154 -0
- data/lib/views/favicon.ico.rdiscount +0 -0
- data/lib/views/git.rdiscount +558 -0
- data/lib/views/labs01.rdiscount +54 -0
- data/lib/views/labs02.rdiscount +32 -0
- data/lib/views/labs03.rdiscount +28 -0
- data/lib/views/labs04.rdiscount +41 -0
- data/lib/views/latex.rdiscount +498 -0
- data/lib/views/layout.rdiscount +41 -0
- data/lib/views/ll.rdiscount +78 -0
- data/lib/views/main.rdiscount +67 -0
- data/lib/views/scripts.rdiscount +618 -0
- data/lib/views/unix-commands.rdiscount +604 -0
- data/lib/views/unix-guru.rdiscount +696 -0
- data/sp-tutorial.gemspec +125 -0
- metadata +186 -0
@@ -0,0 +1,54 @@
|
|
1
|
+
#### {% title "Laboratorium 1" %}
|
2
|
+
|
3
|
+
# Laboratorium 1
|
4
|
+
|
5
|
+
W żadnym z poniższych zadań nie wolno używać programu *mc*.
|
6
|
+
|
7
|
+
Polecenia: mkdir, cp, mv, touch, tree.
|
8
|
+
Ścieżki względne i bezwzględne: `~`, `..`, `.`.
|
9
|
+
|
10
|
+
1\. Używając linii poleceń stwórz strukturę katalogów:
|
11
|
+
|
12
|
+
temp
|
13
|
+
|-- dom
|
14
|
+
|-- nauka
|
15
|
+
| |-- c
|
16
|
+
| |-- logo
|
17
|
+
| `-- pascal
|
18
|
+
`-- praca
|
19
|
+
|-- dokumenty
|
20
|
+
`-- zlecenia
|
21
|
+
|-- niezrealizowane
|
22
|
+
`-- zrealizowane
|
23
|
+
|
24
|
+
2\. Przejdź do katalogu *dom* i utwórz katalog *wazne-sprawy*.
|
25
|
+
|
26
|
+
3\. Wejdź do katalogu *wazne-sprawy* i utwórz tam pusty plik
|
27
|
+
*rachunki.txt*.
|
28
|
+
|
29
|
+
4\. Będąc w katalogu *wazne-sprawy* skopiuj plik *rachunki.txt* do
|
30
|
+
katalogu *zrealizowane*.
|
31
|
+
|
32
|
+
5\. Przejdź do katalogu *zrealizowane* i zmień nazwę pliku *rachunki.txt* na
|
33
|
+
*wykonano.txt*.
|
34
|
+
|
35
|
+
Polecenia: split, cat, diff
|
36
|
+
|
37
|
+
6\. Utwórz plik *wykonano.txt* wielkości 11 bajtów,
|
38
|
+
następnie podziel go pliki wielkości 5 bajtów.
|
39
|
+
W ten sposób otrzymasz 3 pliki. (*split*)
|
40
|
+
|
41
|
+
7\. Będąc w katalogu *logo* skopiuj powyżej otrzymane 3 pliki do
|
42
|
+
katalogu *dokumenty*.
|
43
|
+
|
44
|
+
8\. Będąc w katalogu dokumenty połącz skopiowane 3 pliki w plik
|
45
|
+
*odtworzono.txt*, tak aby otrzymać plik o zawartości identycznej z
|
46
|
+
*wykonano.txt*. Następnie plik *odtworzono.txt* skopiuj do katalogu
|
47
|
+
*wazne-sprawy*.
|
48
|
+
|
49
|
+
9\. Będąc w katalogu *wazne-sprawy* sprawdź, czy są jakieś różnice w
|
50
|
+
zawartości plików *wykonano.txt* i *odtworzono.txt*.
|
51
|
+
|
52
|
+
10\. Wyświetl kalendarz na październik 2009 r. (*cal*)
|
53
|
+
|
54
|
+
11\. Jaki był dzień tygodnia 25 maja 1975 r. (*cal* i *date*)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#### {% title "Laboratorium 2" %}
|
2
|
+
|
3
|
+
# Laboratorium 2
|
4
|
+
|
5
|
+
W żadnym z poniższych zadań nie wolno używać programu *mc*.
|
6
|
+
|
7
|
+
W katalogu *c* utwórz plik *program.c* zawierający co najmniej 10
|
8
|
+
linii kodu napisanego w języku C. (Sam kod należy wyszukać i pobrać z
|
9
|
+
sieci.)
|
10
|
+
|
11
|
+
1\. Wyświetl na ekran 2 pierwsze wiersze pliku *program.c*. (*head*)
|
12
|
+
|
13
|
+
2\. Wyświetl na ekran 4 ostatnie wiersze pliku *program.c*. (*head*, *tail*)
|
14
|
+
|
15
|
+
3\. Wyświetl na ekran całą zawartość pliku *program.c*.
|
16
|
+
|
17
|
+
4\. W pliku *program.c* znajdź wszystkie wiersze z wystąpieniem słowa
|
18
|
+
„main”. (*grep*)
|
19
|
+
|
20
|
+
5\. Plikowi *program.c* nadaj następujące uprawnienia: właściciel – czytanie,
|
21
|
+
pisanie, grupa – czytanie, pozostali użytkownicy: brak uprawnień. (*chmod*)
|
22
|
+
|
23
|
+
6\. Będąc w katalogu *temp* przenieś katalog *wazne-sprawy* do
|
24
|
+
katalogu *praca*.
|
25
|
+
|
26
|
+
7\. Zarchiwizuj cały katalog *temp*. (*zip* i *tar*)
|
27
|
+
|
28
|
+
8\. Usuń katalog *temp*.
|
29
|
+
|
30
|
+
9\. Odtwórz z archiwum katalog *temp*. (*unzip* i *tar*)
|
31
|
+
|
32
|
+
10\. Posprzątaj na swoim koncie.
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#### {% title "Laboratorium 3" %}
|
2
|
+
|
3
|
+
# Laboratorium 3
|
4
|
+
|
5
|
+
1\. Wyświetl plik */etc/passwd* z podziałem na strony przyjmując, że
|
6
|
+
strona na 5 linii tekstu.
|
7
|
+
|
8
|
+
2\. Korzystając z polecenia *cat* utwórz plik *tekst3.txt*, który
|
9
|
+
będzie składał się z zawartości pliku *tekst1.txt*, ciągu znaków
|
10
|
+
podanego ze standardowego wejścia (klawiatury) i pliku *tekst2.txt*.
|
11
|
+
|
12
|
+
3\. Wyświetl po 5 pierwszych linii wszystkich plików w swoim katalogu
|
13
|
+
domowym w taki sposób, aby nie były wyświetlane ich nazwy.
|
14
|
+
|
15
|
+
4\. Wyświetl linie o numerach 3, 4 i 5 z pliku */etc/passwd*.
|
16
|
+
|
17
|
+
5\. Wyświetl linie o numerach 7, 6 i 5 od końca pliku */etc/passwd*.
|
18
|
+
|
19
|
+
6\. Wyświetl zawartość pliku */etc/passwd* w jednej linii.
|
20
|
+
|
21
|
+
7\. Za pomocą filtru *tr* wykonaj modyfikację pliku *plik.txt*,
|
22
|
+
polegającą na umieszczeniu każdego słowa w osobnej linii.
|
23
|
+
|
24
|
+
8\. Zlicz wszystkie pliki znajdujące się w katalogu */etc* i jego
|
25
|
+
podkatalogach.
|
26
|
+
|
27
|
+
9\. Napisać polecenie zliczające ilość znaków z pierwszych trzech
|
28
|
+
linii pliku */etc/passwd*.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#### {% title "Laboratorium 4" %}
|
2
|
+
|
3
|
+
# Laboratorium 4
|
4
|
+
|
5
|
+
1\. Wyświetl listę plików z aktualnego katalogu, zamieniając
|
6
|
+
wszystkie małe litery na duże.
|
7
|
+
|
8
|
+
2\. Wyświetl listę praw dostępu do plików w aktualnym katalogu, ich
|
9
|
+
rozmiar i nazwę.
|
10
|
+
|
11
|
+
3\. Wyświetl listę plików w aktualnym katalogu, posortowaną według
|
12
|
+
rozmiaru pliku.
|
13
|
+
|
14
|
+
4\. Wyświetl zawartość pliku */etc/passwd* posortowaną według numerów
|
15
|
+
UID w kolejności od największego do najmniejszego.
|
16
|
+
|
17
|
+
5\. Wyświetl zawartość pliku */etc/passwd* posortowaną najpierw
|
18
|
+
według numerów GID w kolejności od największego do najmniejszego, a
|
19
|
+
następnie UID.
|
20
|
+
|
21
|
+
6\. Podaj liczbę plików każdego użytkownika.
|
22
|
+
|
23
|
+
7\. Sporządź statystykę praw dostępu (dla każdego z praw dostępu
|
24
|
+
podaj ile razy zostało ono przydzielone).
|
25
|
+
|
26
|
+
Czy potrafisz odpowiedzieć jaki będzie efekt wykonania poniższych
|
27
|
+
poleceń?
|
28
|
+
|
29
|
+
:::shell-unix-generic
|
30
|
+
ls -l > lsout.txt # 1
|
31
|
+
ls -la >> lsout.txt # 2
|
32
|
+
ps >> psout.txt # 3
|
33
|
+
free -m >> ~/wynik # 4
|
34
|
+
kill -1 1234 > killout.txt 2>killerr.txt # 5
|
35
|
+
kill -1 1234 > killout.txt 2>&1 # 6
|
36
|
+
kill -1 1234 > /dev/null 2>&1 # 7
|
37
|
+
sort psout.txt > pssort.txt # 8
|
38
|
+
ps | sort > pssort.txt # 9
|
39
|
+
cat lsout.txt | sort > lssort.txt # 10
|
40
|
+
who | sort | more # 11
|
41
|
+
who | sort | less # 12
|
@@ -0,0 +1,498 @@
|
|
1
|
+
#### {% title "Nie za krótkie wprowadzenie do LaTeX-a" %}
|
2
|
+
|
3
|
+
# Nie za krótkie wprowadzenie do LaTeX-a
|
4
|
+
|
5
|
+
<blockquote>
|
6
|
+
{%= image_tag "/images/knuth.jpg", :alt => "[Donald E. Knuth]" %}
|
7
|
+
<p>
|
8
|
+
Computers are good at following instructions,
|
9
|
+
but not at reading your mind.
|
10
|
+
</p>
|
11
|
+
<p class="author">— Donald E. Knuth</p>
|
12
|
+
</blockquote>
|
13
|
+
|
14
|
+
Na *Sigmie* zainstalowany jest system TeX z paczki *texlive*.
|
15
|
+
Dokumentację do systemu można pobrać z serwera
|
16
|
+
[Polskiej Grupy Użytkowników Systemu TeX] [gust doc].
|
17
|
+
|
18
|
+
System TeX powstał w 1980 roku. Jego autorem jest prof. D. Knuth.
|
19
|
+
|
20
|
+
W pracowniach będziemy korzystać z najnowszej wersji
|
21
|
+
systemu TeX zawartej w „TeXLive 2009” z programem
|
22
|
+
*xetex* w wersji 0.999.6. Do pracy z dokumentami
|
23
|
+
techowymi będziemy używać programu *TeXworks* w wersji
|
24
|
+
co najmniej 0.1 (r.416).
|
25
|
+
|
26
|
+
|
27
|
+
## Konfiguracja TeX Live
|
28
|
+
|
29
|
+
TeX Live to ok. 35000 plików (razem, +1GB).
|
30
|
+
Pliki te są umieszczone w drzewkach. Listę drzewek otrzymamy
|
31
|
+
wykonując polecenie:
|
32
|
+
|
33
|
+
/home/pracinf/wbzyl/.texlive2008/texmf-config,
|
34
|
+
/var/lib/texmf,
|
35
|
+
/home/pracinf/wbzyl/texmf, # tutaj trzymamy prywatne pliki
|
36
|
+
/etc/texlive,
|
37
|
+
/var/lib/texmf,
|
38
|
+
/usr/share/texmf,
|
39
|
+
/usr/share/texmf, # bug! zamienić na texmf-local
|
40
|
+
/usr/share/texmf-dist
|
41
|
+
|
42
|
+
(lista drzewek na na *Sigmie*).
|
43
|
+
|
44
|
+
System TeX konfigurujemy edytując plik *texmf.cnf*.
|
45
|
+
Plik ten odszukujemy w systemie w taki sposób:
|
46
|
+
|
47
|
+
kpsewhich texmf.cnf
|
48
|
+
/usr/share/texmf/web2c/texmf.cnf
|
49
|
+
|
50
|
+
Zawartość tego pliku podejrzymy tak:
|
51
|
+
|
52
|
+
less $(kpsewhich texmf.cnf)
|
53
|
+
|
54
|
+
### Instalacja TeXLive bezpośrednio z internetu
|
55
|
+
|
56
|
+
Na stronie [TeX Live availability](http://www.tug.org/texlive/acquire.html)
|
57
|
+
znajdziemy link do instalki systemu bezpośrednio z internetu
|
58
|
+
„TeX Live installation over the Internet”:
|
59
|
+
[Linux](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl-unx.tar.gz)
|
60
|
+
[Windows](http://mirror.ctan.org/systems/texlive/tlnet/2008/install-tl.zip).
|
61
|
+
|
62
|
+
Po rozpakowaniu archiwum, uruchamiamy skrypt:
|
63
|
+
|
64
|
+
sudo ./install-tl
|
65
|
+
|
66
|
+
i po chwili widzimy, że będziemy musieli czekać z tydzień, zanim
|
67
|
+
zostaną ściągnięte wszystkie pakiety. Aby przyspieszyć instalację
|
68
|
+
wymieniamy domyślnie ustawiony serwer z którego pobierane są pakiety:
|
69
|
+
|
70
|
+
sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/2008/tlpkg/
|
71
|
+
|
72
|
+
Domyślne ustawienie drzewek techowych:
|
73
|
+
|
74
|
+
TEXDIR (the main TeX directory):
|
75
|
+
/usr/local/texlive/2008
|
76
|
+
TEXMFLOCAL (directory for site-wide local files):
|
77
|
+
/usr/local/texlive/texmf-local
|
78
|
+
TEXMFSYSVAR (directory for variable and automatically generated data):
|
79
|
+
/usr/local/texlive/2008/texmf-var
|
80
|
+
TEXMFSYSCONFIG (directory for local config):
|
81
|
+
/usr/local/texlive/2008/texmf-config
|
82
|
+
TEXMFHOME (directory for user-specific files):
|
83
|
+
~/texmf
|
84
|
+
|
85
|
+
### tlmgr – TeX Live package manager
|
86
|
+
|
87
|
+
System uaktualniamy korzystając z programu
|
88
|
+
[tlmgr](http://www.tug.org/texlive/tlmgr.html):
|
89
|
+
|
90
|
+
Kilka poleceń na dobry początek:
|
91
|
+
|
92
|
+
tlmgr update --all
|
93
|
+
Make your local TeX installation correspond to what
|
94
|
+
is in the package repository (typically on CTAN).
|
95
|
+
tlmgr update --list
|
96
|
+
Report what would be updated without actually updating anything.
|
97
|
+
tlmgr show pkgname
|
98
|
+
Display detailed information about pkgname,
|
99
|
+
such as the installation status and description
|
100
|
+
|
101
|
+
\([dokumentacja](http://www.tug.org/texlive/doc/tlmgr.html)\)
|
102
|
+
|
103
|
+
|
104
|
+
<blockquote>
|
105
|
+
{%= image_tag "/images/bop.jpg", :alt => "[autorzy Latin Modern]" %}
|
106
|
+
<p class="center">od lewej: P. Strzelczyk, B. Jackowski, J. M. Nowacki</p>
|
107
|
+
</blockquote>
|
108
|
+
|
109
|
+
## Fonty Latin Modern
|
110
|
+
|
111
|
+
[Rodzina fontów Latin Modern w formacie OTF] [lm].
|
112
|
+
Ręczna instalacja w systemie? Kopiujemy archiwum do drzewka
|
113
|
+
*lokalnego* i tam je rozpakowujemy. Na koniec wykonujemy
|
114
|
+
polecenie: `mktexlsr` (albo `texhash`).
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
## Format *LaTeX*
|
119
|
+
|
120
|
+
Format *LaTeX* jest najczęściej używaną biblioteką makr.
|
121
|
+
Autorem tej biblioteki jest Leslie Lamport.
|
122
|
+
|
123
|
+
Inne biblioteki to:
|
124
|
+
|
125
|
+
* *plain*
|
126
|
+
* *eplain*
|
127
|
+
* *context*
|
128
|
+
|
129
|
+
Najciekawszym projektem jest *LuaTeX*.
|
130
|
+
|
131
|
+
Na zajęciach będziemy korzystać z programu *xetex*.
|
132
|
+
Program ten potrafi czytać pliki w kodowaniu UTF-8
|
133
|
+
(domyślne kodowanie na *Sigmie*) oraz
|
134
|
+
potrafi użyć każdy font zainstalowany w systemie.
|
135
|
+
|
136
|
+
Listę zainstalowanych fontów otrzymamy wykonując polecenie:
|
137
|
+
|
138
|
+
fc-list
|
139
|
+
|
140
|
+
Aby zainstalować font kopiujemy plik z fontem do katalogu
|
141
|
+
*~/.fonts* i wykonujemy polecenie:
|
142
|
+
|
143
|
+
fc-cache -v -f ~/.fonts
|
144
|
+
|
145
|
+
|
146
|
+
<blockquote>
|
147
|
+
{%= image_tag "/images/marcin_wolinski.jpg", :alt => "[Marcin Woliński]" %}
|
148
|
+
<p class="center">Marcin Woliński</p>
|
149
|
+
</blockquote>
|
150
|
+
|
151
|
+
## Obłożenie klawiatury dla programisty
|
152
|
+
|
153
|
+
„Starannie zaprojektowane obłożenie klawiatury, zapewniające dostęp do
|
154
|
+
wszystkich potrzebnych symboli, jest istotnym elementem wygodnego
|
155
|
+
środowiska pracy osoby zajmującej się składem tekstu. W wypadku TeX-a
|
156
|
+
wiele symboli można uzyskać za pomocą poleceń, ale ponieważ powoli
|
157
|
+
standardem kodowania tekstu staje się Unicode, tych znaków, które
|
158
|
+
zostały uwzględnione w Unikodzie, wygodniej jest używać
|
159
|
+
bezpośrednio. Oczywiście pod warunkiem, że nie wymaga to szukania
|
160
|
+
znaków w «tablicy symboli».”
|
161
|
+
Marcin Woliński. [Racjonalna polska klawiatura dla programisty i typografa] [mw keyboard].
|
162
|
+
|
163
|
+
Opis instalacji dla Ubuntu (i dla Fedory) łatki ze strony autora.
|
164
|
+
|
165
|
+
W terminalu przejść do katalogu */usr/share/X11/xkb/*:
|
166
|
+
|
167
|
+
cd /usr/share/X11/xkb/
|
168
|
+
|
169
|
+
Nałożyć pobraną łatę na pliki definicyjne klawiatury poleceniem *patch*:
|
170
|
+
|
171
|
+
sudo patch -b -p1 < ...ścieżka/do/mwplkeyb.ubuntu9.04.diff
|
172
|
+
|
173
|
+
Dla bezpieczeństwa można najprzód wykonać powyższe polecenie na próbę:
|
174
|
+
|
175
|
+
patch --dry-run -b -p1 < ...ścieżka/do/mwplkeyb.ubuntu9.04.diff
|
176
|
+
|
177
|
+
i dopiero jeśli odpowie, że może z powodzeniem nałożyć wszystkie
|
178
|
+
łatki, wykonać polecenie powyżej.
|
179
|
+
|
180
|
+
Uaktywnić ten układ klawiatury w sposób właściwy dla danego środowiska
|
181
|
+
graficznego. W GNOME można go wyklikać z menu
|
182
|
+
|
183
|
+
System ↦ Preferencje ↦ Klawiatura
|
184
|
+
Układy ↦ Dodaj ↦ Kraj: Polska, Wariant: «International (with dead keys)».
|
185
|
+
|
186
|
+
Z terminala można aktywować nasz układ klawiatury dla bieżącej sesji poleceniem:
|
187
|
+
|
188
|
+
setxkbmap 'pl(intl)'
|
189
|
+
|
190
|
+
Dla trwałego efektu trzeba by je dodać do jakiegoś skryptu
|
191
|
+
inicjującego sesję X Window.
|
192
|
+
|
193
|
+
|
194
|
+
<blockquote>
|
195
|
+
{%= image_tag "/images/jkew.jpg", :alt => "[Jonathan Kew]" %}
|
196
|
+
<p class="center">Jonathan Kew autor XeTeX-a</p>
|
197
|
+
</blockquote>
|
198
|
+
|
199
|
+
## Przykładowy dokument w formacie LaTeX
|
200
|
+
|
201
|
+
Dokument pokazuje jak zmienić wielkość fontu, jak ustawić rozmiar strony,
|
202
|
+
jak zmienić font. Kompilujemy go tak:
|
203
|
+
|
204
|
+
xelatex xarticle.tex
|
205
|
+
|
206
|
+
A to zawartość tego przykładowgo dokumentu *xarticle.tex*:
|
207
|
+
|
208
|
+
:::latex
|
209
|
+
% !TEX TS-program = xelatex
|
210
|
+
% !TEX encoding = UTF-8
|
211
|
+
|
212
|
+
% Przykładowy szablon dokumentu XeLaTeX
|
213
|
+
% korzystajacego z klasy „article” oraz pakietu
|
214
|
+
% „fontspec” ułatwiającego wybieranie fontów.
|
215
|
+
|
216
|
+
\documentclass[12pt]{article} % domyślne 10pt jest za małe
|
217
|
+
|
218
|
+
\usepackage{fontspec} % dokumentacja „fontspec.pdf”
|
219
|
+
\defaultfontfeatures{Mapping=tex-text} % konwencja: -- --- ,, ''
|
220
|
+
\usepackage{xunicode}
|
221
|
+
\usepackage{xltxtra}
|
222
|
+
|
223
|
+
\setmainfont{DejaVu Serif} % zmień font na „DejaVu Serif”
|
224
|
+
% font powinien byc zainstalowany w systemie?
|
225
|
+
|
226
|
+
\usepackage{geometry} % zobacz „geometry.pdf”
|
227
|
+
\geometry{a4paper}
|
228
|
+
|
229
|
+
\usepackage{graphicx} % polecenie \includegraphics, dokumentacja „epslatex.pdf”
|
230
|
+
|
231
|
+
\usepackage[polish]{polyglossia} % najważniejszy pakiet
|
232
|
+
|
233
|
+
\title{Krótki tytuł}
|
234
|
+
\author{Hieronim Brzęczyszczykiewicz}
|
235
|
+
%\date{} % odkomentuj aby usunąć datę lub wstaw jakąś datę między {}
|
236
|
+
% jeśli tego nie zrobisz będzie drukowana aktualna data
|
237
|
+
|
238
|
+
\begin{document}
|
239
|
+
\maketitle % drukuj tytuł
|
240
|
+
|
241
|
+
\section{Pierwsza sekcja}
|
242
|
+
|
243
|
+
Akapity oddzielamy
|
244
|
+
|
245
|
+
\em{pustym wierszem}.
|
246
|
+
|
247
|
+
\subsection{Pierwsza podsekcja}
|
248
|
+
|
249
|
+
Nieco tekstu…
|
250
|
+
|
251
|
+
\end{document}
|
252
|
+
|
253
|
+
Wpisując tekst w powinniśmy zwrócić uwagę, że LaTeX rezerwuje
|
254
|
+
niektóre ze znaków:
|
255
|
+
|
256
|
+
% $ # & \ { } ^ _ ~
|
257
|
+
|
258
|
+
Są to tzw. *znaki specjalne*. Jeśli chcemy wydrukować
|
259
|
+
te znaki, to wklepujemy je odpowiednio jako
|
260
|
+
|
261
|
+
\% \$ \# \&
|
262
|
+
|
263
|
+
Poniższe cztery znaki
|
264
|
+
|
265
|
+
" | < >
|
266
|
+
|
267
|
+
też są znakami specjalnymi. Jeśli je wpiszesz, to zostaną wydrukowane
|
268
|
+
zupełnie inne znaki.
|
269
|
+
|
270
|
+
|
271
|
+
## Więcej LaTeX-a
|
272
|
+
|
273
|
+
Teraz pora na bardziej skomplikowany dokument pkazujący jak wstawiać obrazki,
|
274
|
+
tabelki, listy wypunktowane, jak wpisywać matematykę,
|
275
|
+
jak przygotowywać bibliografię. Plik *pracka.tex* zawierający
|
276
|
+
wszystkie te rzeczy kompilujemy w taki sposób (4 przebiegi):
|
277
|
+
|
278
|
+
xelatex pracka
|
279
|
+
bibtex pracka
|
280
|
+
xelatex pracka
|
281
|
+
xelatex pracka
|
282
|
+
|
283
|
+
A to zawartość tego pliku:
|
284
|
+
|
285
|
+
:::latex
|
286
|
+
% !TEX TS-program = xelatex
|
287
|
+
% !TEX encoding = UTF-8 Unicode
|
288
|
+
|
289
|
+
\documentclass[12pt]{article}
|
290
|
+
|
291
|
+
\usepackage{geometry}
|
292
|
+
\geometry{a4paper}
|
293
|
+
|
294
|
+
% Tak zmieniamy fonty, kiedy korzystamy z programu TeX + format LaTeX
|
295
|
+
%\usepackage{lmodern} % domyślna rodzina fontów to Latin Modern
|
296
|
+
\usepackage{euler} % zmień fonty matematyczne na Euler
|
297
|
+
|
298
|
+
% Tak zmieniamy fonty, kiedy korzystamy z programu XeTeX + format LaTeX
|
299
|
+
\usepackage{fontspec}
|
300
|
+
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
|
301
|
+
\setmainfont{TeX Gyre Schola} % URW Century Schoolbook L from TeX Gyre collection
|
302
|
+
% fc-list | egrep "TeX Gyre Schola"
|
303
|
+
% TeX Gyre Schola:style=Bold
|
304
|
+
% TeX Gyre Schola:style=Italic
|
305
|
+
% TeX Gyre Schola:style=Bold Italic
|
306
|
+
% TeX Gyre Schola:style=Regular
|
307
|
+
%
|
308
|
+
% albo tak
|
309
|
+
\setromanfont[Mapping=tex-text]{TeX Gyre Schola}
|
310
|
+
\setsansfont[Mapping=tex-text]{Myriad Pro}
|
311
|
+
\setmonofont{DejaVu LGC Sans Mono}
|
312
|
+
|
313
|
+
\usepackage{xunicode} % akcentowane znaki / … / „ / ” / – / —
|
314
|
+
\usepackage{xltxtra} % XeTeX logo
|
315
|
+
|
316
|
+
\usepackage{hyperref}
|
317
|
+
\usepackage{color}
|
318
|
+
\usepackage{url}
|
319
|
+
\usepackage{graphicx} % polecenie \includegraphics
|
320
|
+
|
321
|
+
\usepackage[polish]{polyglossia} % najważniejszy pakiet
|
322
|
+
|
323
|
+
\bibliographystyle{unsrt}
|
324
|
+
|
325
|
+
\title{\color{red}{Przykładowy dokument w formacie \LaTeX}}
|
326
|
+
\author{Anonim \and Minoma}
|
327
|
+
\date{\color{blue}{Styczeń 2004}}
|
328
|
+
|
329
|
+
\begin{document}
|
330
|
+
|
331
|
+
\maketitle
|
332
|
+
\tableofcontents
|
333
|
+
\listoffigures
|
334
|
+
\listoftables
|
335
|
+
|
336
|
+
\section{Podstawy}\label{sec:podstawy}
|
337
|
+
Książka ,,Sekunda komputera'' przedstawia to, co komputer
|
338
|
+
robi w~ciągu jednej sekundy -- taki jest \emph{bynajmniej} główny
|
339
|
+
kierunek rozważań.
|
340
|
+
|
341
|
+
Uwaga: akapity odzielamy \textit{pustym wierszem}.
|
342
|
+
|
343
|
+
\section{Otoczenie verbatim}\label{sec:verbatim}
|
344
|
+
|
345
|
+
W fontach maszynowych wszystki znaki mają taką samą
|
346
|
+
szerokość. Za pomocą takich fontów składane
|
347
|
+
są listingi lub kod programów, na przykład
|
348
|
+
|
349
|
+
\begin{verbatim}
|
350
|
+
$ fc-list | egrep "TeX Gyre Schola"
|
351
|
+
TeX Gyre Schola:style=Bold
|
352
|
+
TeX Gyre Schola:style=Italic
|
353
|
+
TeX Gyre Schola:style=Bold Italic
|
354
|
+
TeX Gyre Schola:style=Regular
|
355
|
+
\end{verbatim}
|
356
|
+
|
357
|
+
\section{Matematyka}\label{sec:wzory}
|
358
|
+
Ten wzór wszyscy znają: \(2+2=4\), a~ten jest znany tylko
|
359
|
+
niektórym: \[ e^{2\pi i}=-1 \] Oba wzory wpisujemy w prosty
|
360
|
+
sposób z~klawiatury: \verb|\(2+2=4\)| oraz
|
361
|
+
\begin{verbatim}
|
362
|
+
\[ e^{2\pi i}=-1 \]
|
363
|
+
\end{verbatim}
|
364
|
+
|
365
|
+
\section{Więcej matematyki}
|
366
|
+
Kilka wzorów ze strony~\cite{jsMath.examples}:
|
367
|
+
|
368
|
+
\[
|
369
|
+
\int_0^1 f(x)\,dx = 1
|
370
|
+
\]
|
371
|
+
\[
|
372
|
+
{n\choose k} \equiv {\lfloor n/p\rfloor \choose \lfloor k/p\rfloor}
|
373
|
+
{{n\bmod p} \choose {k\bmod p}} \pmod p
|
374
|
+
\]
|
375
|
+
\[
|
376
|
+
A = \pmatrix{x-\lambda & 1 & 0\cr
|
377
|
+
0 & x-\lambda & 1\cr
|
378
|
+
0 & 0 & x-\lambda\cr}
|
379
|
+
\qquad\qquad
|
380
|
+
\left\lgroup\matrix{a&b&c\cr d&e&f}\right\rgroup
|
381
|
+
\left\lgroup\matrix{u&x\cr v&y\cr w&z}\right\rgroup
|
382
|
+
\]
|
383
|
+
|
384
|
+
\section{Listy}\label{sec:ksiazki}
|
385
|
+
Inne pozycje o których wspomniano w~[\ref{sec:podstawy}] to:
|
386
|
+
\begin{enumerate}
|
387
|
+
\item ,,The Twenty First Century'';
|
388
|
+
\item ,,The Upside-Down Evolution''.
|
389
|
+
\end{enumerate}
|
390
|
+
|
391
|
+
\section{Ilustracje}\label{sec:ilustracje}
|
392
|
+
|
393
|
+
Ilustracja o której mowa w tym rozdziale znajduje się u góry
|
394
|
+
strony~\cite{wiki.docbookxsl}.
|
395
|
+
\begin{figure}
|
396
|
+
\caption{Całkowita wariacja (wg Bull 2004, s.~44)}
|
397
|
+
\label{fig:wariacje}
|
398
|
+
\begin{center}
|
399
|
+
\includegraphics[width=.75\textwidth]{diagram}
|
400
|
+
\end{center}
|
401
|
+
\end{figure}
|
402
|
+
|
403
|
+
\section{Tabelki}\label{sec:tabelki}
|
404
|
+
|
405
|
+
Tabelka o której mowa w tym rozdziale znajduje się u góry
|
406
|
+
strony.
|
407
|
+
\begin{table}
|
408
|
+
\caption{Wydatki}
|
409
|
+
\label{tab:wydatki}
|
410
|
+
\begin{center}
|
411
|
+
\begin{tabular}{clr}
|
412
|
+
&Pozycja&Kwota\\
|
413
|
+
\hline
|
414
|
+
1.&Opłaty&2,000\\
|
415
|
+
&Oprogramowanie&500\\
|
416
|
+
2.&Światło&1,000\\
|
417
|
+
\cline{3-3}
|
418
|
+
&Razem&3,500
|
419
|
+
\end{tabular}
|
420
|
+
\end{center}
|
421
|
+
\end{table}
|
422
|
+
|
423
|
+
\bibliography{pd}
|
424
|
+
|
425
|
+
\end{document}
|
426
|
+
|
427
|
+
Plik z bibliografią *pd.bib*:
|
428
|
+
|
429
|
+
:::bibtex
|
430
|
+
@Book{Goossens.lwc,
|
431
|
+
author = "Michel Goossens and Sebastian Rahtz",
|
432
|
+
title = "{\LaTeX} Web Companion",
|
433
|
+
publisher = "Addison-Wesley",
|
434
|
+
year = "2001"
|
435
|
+
}
|
436
|
+
|
437
|
+
@Booklet{Gurari.TeX4ht,
|
438
|
+
title = {TeX4ht: {\LaTeX} and {\TeX} for Hypertext},
|
439
|
+
author = "Eitan Gurari",
|
440
|
+
howpublished = "\url{http://www.cse.ohio-state.edu/~gurari/TeX4ht/}",
|
441
|
+
year = 2004,
|
442
|
+
}
|
443
|
+
|
444
|
+
@Booklet{Veillard.libxslt,
|
445
|
+
author = {Daniel Veillard},
|
446
|
+
title = {{LIBXSLT} --- The {XSLT C} library for {G}nome},
|
447
|
+
howpublished = {\url{http://xmlsoft.org/XSLT}},
|
448
|
+
year = 2003,
|
449
|
+
}
|
450
|
+
|
451
|
+
@Booklet{wiki.docbookxsl,
|
452
|
+
author = "Wiki",
|
453
|
+
title = "{DocBook} {XSL} {Stylesheets}",
|
454
|
+
howpublished = {\url{http://wiki.docbook.org/topic/DocBookXslStylesheets}},
|
455
|
+
year = 2004,
|
456
|
+
}
|
457
|
+
|
458
|
+
@Booklet{jsMath.examples,
|
459
|
+
title = {Examples of jsMath},
|
460
|
+
author = "Davide Cervone",
|
461
|
+
howpublished = "\url{http://www.math.union.edu/~dpvc/jsMath/examples/welcome.html}",
|
462
|
+
year = 2009,
|
463
|
+
}
|
464
|
+
|
465
|
+
|
466
|
+
## I-Ching
|
467
|
+
|
468
|
+
Ściągamy mój pakiet [I-ching Divinations] [i-ching].
|
469
|
+
Instalujemy go i poprawiamy skrypt *dod.sh*, tak
|
470
|
+
aby korzystał z fontów PFB (a nie z fontów PK).
|
471
|
+
|
472
|
+
Teraz uruchamiamy skrypt i po jego wykonaniu oglądamy wróżbę:
|
473
|
+
|
474
|
+
gv your-divination.ps
|
475
|
+
|
476
|
+
Skrypt *dod.sh* korzysta z programu *tex*.
|
477
|
+
Czy zamiast programu *tex* można użyć programu *xetex*?
|
478
|
+
|
479
|
+
|
480
|
+
## Pandoc
|
481
|
+
|
482
|
+
[Cytat] [pandoc]: „Pandoc is a Haskell library for converting from one markup
|
483
|
+
format to another, and a command-line tool that uses this library. It
|
484
|
+
can read markdown and (subsets of) reStructuredText, HTML, and LaTeX,
|
485
|
+
and it can write markdown, reStructuredText, HTML, LaTeX, ConTeXt,
|
486
|
+
PDF, RTF, DocBook XML, OpenDocument XML, ODT, GNU Texinfo, MediaWiki
|
487
|
+
markup, groff man pages, and S5 HTML slide shows.”
|
488
|
+
|
489
|
+
|
490
|
+
#### Linki
|
491
|
+
|
492
|
+
[gust doc]: http://www.gust.org.pl/doc "Dokumentacje — GUST"
|
493
|
+
[lm]: http://www.gust.org.pl/projects/e-foundry/latin-modern/download "Latin Modern collection"
|
494
|
+
[mw keyboard]: http://marcinwolinski.pl/keyboard/ "Racjonalna polska klawiatura dla programisty…"
|
495
|
+
|
496
|
+
[i-ching]: http://www.ctan.org/tex-archive/fonts/psfonts/i-ching/ "I-Ching Divinations"
|
497
|
+
|
498
|
+
[pandoc]: http://johnmacfarlane.net/pandoc/ "Pandoc"
|