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.
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"