sp-tutorial 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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"
|