sp-tutorial 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. data/README.markdown +42 -0
  2. data/Rakefile +36 -0
  3. data/TODO +6 -0
  4. data/VERSION.yml +4 -0
  5. data/config.ru +15 -0
  6. data/lib/config.ru +15 -0
  7. data/lib/public/doc/Cyklop-otf-0_91.zip +0 -0
  8. data/lib/public/doc/ex/sp_lab01_zad.odt +0 -0
  9. data/lib/public/doc/ex/sp_lab02_zad.odt +0 -0
  10. data/lib/public/doc/ex/sp_lab03_zad.odt +0 -0
  11. data/lib/public/doc/ex/sp_lab04_zad.odt +0 -0
  12. data/lib/public/doc/latexsheet.pdf +0 -0
  13. data/lib/public/doc/survival.pdf +0 -0
  14. data/lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg +0 -0
  15. data/lib/public/images/alan_kay.jpg +0 -0
  16. data/lib/public/images/alan_perlis.jpg +0 -0
  17. data/lib/public/images/albert_einstein.jpg +0 -0
  18. data/lib/public/images/algorithm.png +0 -0
  19. data/lib/public/images/biuletyn-snall.jpg +0 -0
  20. data/lib/public/images/bop.jpg +0 -0
  21. data/lib/public/images/borenstein.jpg +0 -0
  22. data/lib/public/images/commits.png +0 -0
  23. data/lib/public/images/gitk-branches.png +0 -0
  24. data/lib/public/images/jkew.jpg +0 -0
  25. data/lib/public/images/jwz.gif +0 -0
  26. data/lib/public/images/knuth.jpg +0 -0
  27. data/lib/public/images/marcin_wolinski.jpg +0 -0
  28. data/lib/public/images/objects-example.png +0 -0
  29. data/lib/public/images/perlis.gif +0 -0
  30. data/lib/public/images/real_programmers.png +0 -0
  31. data/lib/public/images/richard_stallman.jpg +0 -0
  32. data/lib/public/images/sp.png +0 -0
  33. data/lib/public/images/sp.svg +117 -0
  34. data/lib/public/images/spowrotem.jpg +0 -0
  35. data/lib/public/images/staging_area.png +0 -0
  36. data/lib/public/images/the_thinker.jpg +0 -0
  37. data/lib/public/images/tparr.jpg +0 -0
  38. data/lib/public/images/wide-gitk.gif +0 -0
  39. data/lib/public/javascripts/sp.js +1 -0
  40. data/lib/public/stylesheets/fonts/Cyklop-Italic.otf +0 -0
  41. data/lib/public/stylesheets/icons/doc.png +0 -0
  42. data/lib/public/stylesheets/icons/email.png +0 -0
  43. data/lib/public/stylesheets/icons/external.png +0 -0
  44. data/lib/public/stylesheets/icons/feed.png +0 -0
  45. data/lib/public/stylesheets/icons/im.png +0 -0
  46. data/lib/public/stylesheets/icons/pdf.png +0 -0
  47. data/lib/public/stylesheets/icons/visited.png +0 -0
  48. data/lib/public/stylesheets/icons/xls.png +0 -0
  49. data/lib/public/stylesheets/ie.css +27 -0
  50. data/lib/public/stylesheets/print.css +30 -0
  51. data/lib/public/stylesheets/screen.css +249 -0
  52. data/lib/public/stylesheets/sp.css +194 -0
  53. data/lib/public/stylesheets/src/grid.png +0 -0
  54. data/lib/public/stylesheets/uv.css +121 -0
  55. data/lib/sp-tutorial.rb +78 -0
  56. data/lib/views/answers.rdiscount +7 -0
  57. data/lib/views/exercises.rdiscount +154 -0
  58. data/lib/views/favicon.ico.rdiscount +0 -0
  59. data/lib/views/git.rdiscount +558 -0
  60. data/lib/views/labs01.rdiscount +54 -0
  61. data/lib/views/labs02.rdiscount +32 -0
  62. data/lib/views/labs03.rdiscount +28 -0
  63. data/lib/views/labs04.rdiscount +41 -0
  64. data/lib/views/latex.rdiscount +498 -0
  65. data/lib/views/layout.rdiscount +41 -0
  66. data/lib/views/ll.rdiscount +78 -0
  67. data/lib/views/main.rdiscount +67 -0
  68. data/lib/views/scripts.rdiscount +618 -0
  69. data/lib/views/unix-commands.rdiscount +604 -0
  70. data/lib/views/unix-guru.rdiscount +696 -0
  71. data/sp-tutorial.gemspec +125 -0
  72. 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.&nbsp;Strzelczyk, B. Jackowski, J.&nbsp;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&nbsp;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"