sp-tutorial 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +7 -3
- data/Rakefile +7 -6
- data/VERSION.yml +2 -2
- data/lib/public/doc/xetex-pl.pdf +0 -0
- data/lib/public/stylesheets/sp.css +1 -1
- data/lib/views/bash.rdiscount +296 -0
- data/lib/views/blogs.rdiscount +2 -1
- data/lib/views/git.rdiscount +1 -1
- data/lib/views/labs10.rdiscount +13 -2
- data/lib/views/latex.rdiscount +107 -5
- data/lib/views/layout.rdiscount +3 -3
- data/lib/views/main.rdiscount +3 -1
- data/lib/views/texlive.rdiscount +3 -3
- data/lib/views/unix-commands.rdiscount +1 -0
- data/sp-tutorial.gemspec +13 -8
- metadata +18 -6
data/README.markdown
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Środowisko Programisty
|
2
2
|
|
3
|
-
Gem zawierający notatki do wykładu
|
3
|
+
Gem zawierający notatki do wykładu „Środowisko Programisty”.
|
4
4
|
|
5
5
|
|
6
6
|
## Instalacja
|
@@ -16,11 +16,15 @@ Sprawdzamy gdzie w systemie został zainstalowany gem *sp-tutorial*:
|
|
16
16
|
|
17
17
|
gem which sp-tutorial
|
18
18
|
|
19
|
-
|
19
|
+
Aplikację uruchamiamy w takis sposób:
|
20
20
|
|
21
|
-
<pre>rackup
|
21
|
+
<pre>rackup /«<i>ścieżka do katalogu z gemem</i>»/lib/config.ru -p 8008
|
22
22
|
</pre>
|
23
23
|
|
24
|
+
Na przykład:
|
25
|
+
|
26
|
+
rackup rackup /usr/lib/ruby/gems/1.8/gems/sp-tutorial-0.3.0/lib/config.ru -p 8008
|
27
|
+
|
24
28
|
Po uruchomieniu aplikacja jest dostępna z URL:
|
25
29
|
|
26
30
|
http://localhost:8008/
|
data/Rakefile
CHANGED
@@ -6,25 +6,26 @@ begin
|
|
6
6
|
require 'jeweler'
|
7
7
|
Jeweler::Tasks.new do |gemspec|
|
8
8
|
gemspec.name = "sp-tutorial"
|
9
|
-
gemspec.summary = "Notatki do wykladu
|
10
|
-
gemspec.email = "matwb@
|
9
|
+
gemspec.summary = "Notatki do wykladu Srodowisko Programisty."
|
10
|
+
gemspec.email = "matwb@ug.edu.pl"
|
11
11
|
gemspec.authors = ["Wlodek Bzyl"]
|
12
12
|
gemspec.homepage = "http://github.com/wbzyl/sp-ii"
|
13
13
|
|
14
14
|
gemspec.description = <<-EOF
|
15
|
-
Notatki do
|
15
|
+
Notatki do wykladu: Srodowisko Programisty
|
16
16
|
EOF
|
17
17
|
|
18
18
|
gemspec.files = FileList['lib/**/*', "Rakefile",
|
19
19
|
"VERSION.yml", "sp-tutorial.gemspec"]
|
20
|
-
|
20
|
+
|
21
21
|
gemspec.add_runtime_dependency 'rack'
|
22
22
|
gemspec.add_runtime_dependency 'sinatra'
|
23
23
|
gemspec.add_runtime_dependency 'rdiscount'
|
24
24
|
gemspec.add_runtime_dependency 'ultraviolet'
|
25
|
-
gemspec.add_runtime_dependency 'sinatra-rdiscount'
|
26
25
|
gemspec.add_runtime_dependency 'rack-codehighlighter'
|
27
|
-
|
26
|
+
gemspec.add_runtime_dependency 'sinatra-rdiscount'
|
27
|
+
gemspec.add_runtime_dependency 'sinatra-static-assets'
|
28
|
+
|
28
29
|
gemspec.rubyforge_project = 'sp-tutorial'
|
29
30
|
end
|
30
31
|
Jeweler::GemcutterTasks.new
|
data/VERSION.yml
CHANGED
Binary file
|
@@ -0,0 +1,296 @@
|
|
1
|
+
#### {% title "Bash w przykładach" %}
|
2
|
+
|
3
|
+
<!-- opracował Robert Fidytek -->
|
4
|
+
|
5
|
+
# Bash w przykładach
|
6
|
+
|
7
|
+
<blockquote>
|
8
|
+
{%= image_tag "/images/algorithm.png", :alt => "[Rozwiązanie…]" %}
|
9
|
+
</blockquote>
|
10
|
+
|
11
|
+
1\. Podaj przykład skryptu wykorzystującego zmienne i
|
12
|
+
zmienne środowiskowa np. $USER, $PWD, $HOME.
|
13
|
+
|
14
|
+
:::shell-unix-generic
|
15
|
+
#!/bin/bash
|
16
|
+
echo "Czesc $USER"
|
17
|
+
echo "twoj aktualny katalog to $PWD"
|
18
|
+
zmienna="a to twoj katalog domowy to $HOME"
|
19
|
+
echo $zmienna
|
20
|
+
echo "nazwa twojego hosta to: $HOSTNAME"
|
21
|
+
echo "korzystasz z systemu operacyjnego: $OSTYPE"
|
22
|
+
zmienna2=$(pwd)
|
23
|
+
echo "\"Ciapki\" – przyklad: $zmienna2"
|
24
|
+
exit 0
|
25
|
+
|
26
|
+
2\. Podaj przykład skryptu korzystującego ze zmiennych
|
27
|
+
specjalnych, czyli użyj $0, $1, $2, …, $9, $@, $*, $?, $$.
|
28
|
+
|
29
|
+
:::shell-unix-generic
|
30
|
+
#!/bin/bash
|
31
|
+
echo "Nazwa biezacego skryptu: $0"
|
32
|
+
echo "Pierwszy przekazany parametr do skryptu: $1"
|
33
|
+
echo "Drugi przekazany parametr do skryptu: $2"
|
34
|
+
echo "..."
|
35
|
+
echo "Dziewiaty przekazany parametr do skryptu: $9"
|
36
|
+
# separatorem będzie spacja
|
37
|
+
echo "Skrypt uruchomiono z parametrami: $@"
|
38
|
+
# separator okresla zmienna $IFS
|
39
|
+
echo "Skrypt uruchomiono z parametrami: $*"
|
40
|
+
echo "Kod powrotu ostanio wykonywanego polecenia: $?"
|
41
|
+
echo "PID procesu biezacej powloki: $$"
|
42
|
+
exit 0
|
43
|
+
|
44
|
+
3\. Podać przykład skryptu korzystającego z tablic
|
45
|
+
(Użyj declare, unset, *, @, # ).
|
46
|
+
|
47
|
+
:::shell-unix-generic
|
48
|
+
owoc[0]="jablko"
|
49
|
+
owoc[1]="gruszka"
|
50
|
+
owoc[2]="sliwka"
|
51
|
+
owoc[3]="wisnia"
|
52
|
+
echo "Pierwszy element tablicy owoc to: ${owoc[0]}"
|
53
|
+
echo "Wszystkie elementy tablicy owoc to: ${owoc[*]}"
|
54
|
+
echo "Wszystkie elementy tablicy owoc to: ${owoc[@]}"
|
55
|
+
echo "Drugi element tablicy owoc ma ${#owoc[1]} znakow"
|
56
|
+
echo "Tablica owoc ma ${#owoc[*]} elementy"
|
57
|
+
imie=(Jola Ania Kasia Basia Magda)
|
58
|
+
echo "Wszystkie elementy tablicy imie to: ${imie[@]}"
|
59
|
+
unset imie # usuniecie tablicy
|
60
|
+
echo "Tablica imie ma ${#imie[*]} elementow"
|
61
|
+
tab1=(`cat /etc/passwd`)
|
62
|
+
echo "Tablica tab1 ma ${#tab1[*]} elementow"
|
63
|
+
declare tab2=(`cat /etc/passwd`)
|
64
|
+
echo "Tablica tab2 ma ${#tab2[*]} elementow"
|
65
|
+
exit 0
|
66
|
+
|
67
|
+
4\. Napisać skrypt obliczający sumę, różnicę i iloczyn dwóch
|
68
|
+
wczytanych liczb całkowitych. (Użyj polecenia read.)
|
69
|
+
|
70
|
+
:::shell-unix-generic
|
71
|
+
#!/bin/bash
|
72
|
+
echo -n "Podaj pierwsza liczbe: "
|
73
|
+
read liczba1
|
74
|
+
echo -n "Podaj druga liczbe: "
|
75
|
+
read liczba2
|
76
|
+
echo
|
77
|
+
suma=$[liczba1 + liczba2] #1 sposob
|
78
|
+
echo "Suma liczb wynosi: $suma"
|
79
|
+
roznica=$((liczba1-liczba2)) #2 sposob
|
80
|
+
echo "Roznica liczb wynosi: $roznica"
|
81
|
+
let iloczyn=liczba1*liczba2 #3 sposob
|
82
|
+
echo "Iloczyn liczb wynosi: $iloczyn"
|
83
|
+
iloraz=$[liczba1/liczba2]
|
84
|
+
echo "Iloraz liczb wynosi: $iloraz" #czesc calkowita
|
85
|
+
modulo=$[liczba1%liczba2]
|
86
|
+
echo "Modulo liczb wynosi: $modulo" #reszta
|
87
|
+
exit 0
|
88
|
+
|
89
|
+
5\. Napisać skrypt sprawdzający, czy w katalogu głównym użytkownika
|
90
|
+
istnieje plik *.bashrc*. (Użyj instrukcji warunkowej if.)
|
91
|
+
|
92
|
+
:::shell-unix-generic
|
93
|
+
if [ -e ~/.bashrc ]
|
94
|
+
# lub rownowaznie: if test -e ~/.bashrc
|
95
|
+
then echo "Masz plik .bashrc"
|
96
|
+
else echo "Nie masz pliku .bashrc"
|
97
|
+
fi
|
98
|
+
exit 0
|
99
|
+
|
100
|
+
Krótka ściąga z pozostałych warunków:
|
101
|
+
|
102
|
+
<table class="span-19" summary="Scaffold">
|
103
|
+
<colgroup>
|
104
|
+
<col class="table1"/>
|
105
|
+
<col class="table2"/>
|
106
|
+
</colgroup>
|
107
|
+
<tbody>
|
108
|
+
<tr>
|
109
|
+
<td>-d plik</td>
|
110
|
+
<td>plik jest katalogiem</td>
|
111
|
+
</tr>
|
112
|
+
<tr>
|
113
|
+
<td>-e plik</td>
|
114
|
+
<td>plik istnieje</td>
|
115
|
+
</tr>
|
116
|
+
<tr>
|
117
|
+
<td>-f plik</td>
|
118
|
+
<td>plik jest plikiem regularnym</td>
|
119
|
+
</tr>
|
120
|
+
<tr>
|
121
|
+
<td>-g plik</td>
|
122
|
+
<td>plik ma przypisany set-group-id</td>
|
123
|
+
</tr>
|
124
|
+
<tr>
|
125
|
+
<td>-r plik</td>
|
126
|
+
<td>plik daje się odczytac</td>
|
127
|
+
</tr>
|
128
|
+
<tr>
|
129
|
+
<td>-s plik</td>
|
130
|
+
<td>plik ma niezerowy rozmiar</td>
|
131
|
+
</tr>
|
132
|
+
<tr>
|
133
|
+
<td>-u plik</td>
|
134
|
+
<td>plik ma przypisany set-user-id</td>
|
135
|
+
</tr>
|
136
|
+
<tr>
|
137
|
+
<td>-w plik</td>
|
138
|
+
<td>plik można edytowac (można pisac))</td>
|
139
|
+
</tr>
|
140
|
+
<tr>
|
141
|
+
<td>-x plik</td>
|
142
|
+
<td>plik wykonywalny</td>
|
143
|
+
</tr>
|
144
|
+
</tbody>
|
145
|
+
</table>
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
6\. Napisać skrypt pytający się czy już jest wieczór. Dla odpowiedzi
|
150
|
+
„tak” powinien wypisać „Dobry wieczor”, dla odpowiedzi „nie” –
|
151
|
+
„Dzien dobry”, dla pozostałych odpowiedzi „Nie rozpoznana odpowiedz: ”
|
152
|
+
i przytoczyć treść odpowiedzi. (Użyj instrukcji warunkowej if-elif.)
|
153
|
+
|
154
|
+
:::shell-unix-generic
|
155
|
+
#!/bin/bash
|
156
|
+
echo -n "Czy jest wieczor? Odpowiedz tak lub nie: "
|
157
|
+
read odp
|
158
|
+
if [ "$odp" = "tak" ]
|
159
|
+
then echo "Dobry wieczor"
|
160
|
+
elif [ "$odp" = "nie" ]
|
161
|
+
then echo "Dzien dobry"
|
162
|
+
else
|
163
|
+
echo "Nie rozpoznana odpowiedz: $odp"
|
164
|
+
exit 1
|
165
|
+
fi
|
166
|
+
exit 0
|
167
|
+
|
168
|
+
Jeszcze jedna ściąga:
|
169
|
+
|
170
|
+
<table class="span-19" summary="Scaffold">
|
171
|
+
<colgroup>
|
172
|
+
<col class="table1"/>
|
173
|
+
<col class="table2"/>
|
174
|
+
</colgroup>
|
175
|
+
<tbody>
|
176
|
+
<tr>
|
177
|
+
<td>ciąg</td>
|
178
|
+
<td>ciąg jest niepusty</td>
|
179
|
+
</tr>
|
180
|
+
<tr>
|
181
|
+
<td>ciąg1=ciąg2</td>
|
182
|
+
<td>ciągi sa jednakowe</td>
|
183
|
+
</tr>
|
184
|
+
<tr>
|
185
|
+
<td>ciąg1!=ciąg2</td>
|
186
|
+
<td>ciągi nie sa rowne</td>
|
187
|
+
</tr>
|
188
|
+
<tr>
|
189
|
+
<td>-n ciąg</td>
|
190
|
+
<td>ciąg nie jest NULL</td>
|
191
|
+
</tr>
|
192
|
+
<tr>
|
193
|
+
<td>-z ciąg</td>
|
194
|
+
<td>ciąg jest NULL (pusty)</td>
|
195
|
+
</tr>
|
196
|
+
</tbody>
|
197
|
+
</table>
|
198
|
+
|
199
|
+
|
200
|
+
7\. Napisać skrypt pobierający numer dnia tygodnia i wypisujący jego
|
201
|
+
nazwę lub informację „Nie rozumiem”. (Użyj polecenia read i
|
202
|
+
instrukcji warunkowej case.)
|
203
|
+
|
204
|
+
:::shell-unix-generic
|
205
|
+
#!/bin/bash
|
206
|
+
echo "Podaj numer dnia tygodnia: "
|
207
|
+
read dzien
|
208
|
+
case "$dzien" in
|
209
|
+
"1") echo "poniedzialek" ;;
|
210
|
+
"2") echo "wtorek" ;;
|
211
|
+
"3") echo "sroda" ;;
|
212
|
+
"4") echo "czwartek" ;;
|
213
|
+
"5") echo "piatek" ;;
|
214
|
+
"6") echo "sobota" ;;
|
215
|
+
"7") echo "niedziela" ;;
|
216
|
+
*) echo "Nie rozumiem"
|
217
|
+
esac
|
218
|
+
exit 0
|
219
|
+
|
220
|
+
8\. Wyświetlić z bieżącego katalogu nazwy wszystkich plików:
|
221
|
+
\*.html, \*.htm, *.php, *.css, *.gif, *.jpg. (Użyj pętli for.)
|
222
|
+
|
223
|
+
:::shell-unix-generic
|
224
|
+
#!/bin/bash
|
225
|
+
for nazwa in *.html *.htm *.php *.css *.gif *.jpg
|
226
|
+
do
|
227
|
+
echo $nazwa
|
228
|
+
done
|
229
|
+
exit 0
|
230
|
+
|
231
|
+
To samo, ale bez rozróżniania małych i dużych liter.
|
232
|
+
|
233
|
+
9\. Napisać skrypt wykonujący pętlę 15 razy i wypisujący za każdym
|
234
|
+
razem numer obiegu pętli. (Użyj pętli while.)
|
235
|
+
|
236
|
+
:::shell-unix-generic
|
237
|
+
#!/bin/bash
|
238
|
+
n=1;
|
239
|
+
# gdy warunek stanie się fałszywy to petla zakonczy dzialanie
|
240
|
+
while [ $n -le 15 ]
|
241
|
+
do
|
242
|
+
echo "Petla wykonuje sie po raz: $n"
|
243
|
+
n=$[n + 1]
|
244
|
+
done
|
245
|
+
exit 0
|
246
|
+
|
247
|
+
Ściąga z operatorów wykorzystywanych w warunkach:
|
248
|
+
|
249
|
+
<pre>-eq (==) -ne (!=) -lt (<)
|
250
|
+
-le (<=) -gt (>) -ge (>=)
|
251
|
+
</pre>
|
252
|
+
|
253
|
+
10\. Napisać skrypt sprawdzający, czy użytkownik, którego login został
|
254
|
+
podany jako parametr skryptu zalogował się. (Użyj pętli until.)
|
255
|
+
|
256
|
+
:::shell-unix-generic
|
257
|
+
#!/bin/bash
|
258
|
+
until who | grep "$1" > /dev/null
|
259
|
+
# gdy warunek stanie się prawdziwy to petla zakonczy dzialanie
|
260
|
+
do
|
261
|
+
sleep 60
|
262
|
+
done
|
263
|
+
echo -e \\a
|
264
|
+
echo "$1 wlasnie sie zalogowal !!! "
|
265
|
+
exit 0
|
266
|
+
|
267
|
+
11\. Napisać skrypt pytający się użytkownika co wybiera: kawe,
|
268
|
+
herbate, sok, quit. Po dokonaniu wyboru powinna się pojawić
|
269
|
+
informacja co zostało wybrane. Po wybraniu quit skrypt powinien
|
270
|
+
zakończyć działanie. (Użyj pętli select i instrukcji warunkowej case.)
|
271
|
+
|
272
|
+
:::shell-unix-generic
|
273
|
+
#!/bin/bash
|
274
|
+
echo "Co wybierasz?"
|
275
|
+
select x in kawe herbate sok quit
|
276
|
+
do
|
277
|
+
case $x in
|
278
|
+
"kawe") echo "Wybrales kawe." ;;
|
279
|
+
"herbate") echo "Wybrales herbate." ;;
|
280
|
+
"sok") echo "Wybrales sok." ;;
|
281
|
+
"quit") echo "Wybrales quit."; break ;;
|
282
|
+
*) echo "Nic nie wybrales."
|
283
|
+
esac
|
284
|
+
done
|
285
|
+
exit 0
|
286
|
+
|
287
|
+
12\. Zmienić nazwy plików i katalogów pisane dużymi literami na nazwy
|
288
|
+
pisane małymi literami.
|
289
|
+
|
290
|
+
:::shell-unix-generic
|
291
|
+
#!/bin/bash
|
292
|
+
for nazwa in *
|
293
|
+
do
|
294
|
+
mv $nazwa $(echo $nazwa | tr '[A-Z]' '[a-z]')
|
295
|
+
done
|
296
|
+
exit 0
|
data/lib/views/blogs.rdiscount
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
1. <a href="http://sigma.inf.ug.edu.pl/~bberda/sp/">Berda, Bartłomiej</a>
|
9
9
|
bb (czyli brak bloga)
|
10
10
|
1. <a href="http://sigma.inf.ug.edu.pl/~mwanta/sp/">Wanta, Marcin</a> bb
|
11
|
+
1. <a href="http://sigma.inf.ug.edu.pl/~azmuda/sp/">Żmuda, Adam</a> br 16.11 23.11 30.11 7.12
|
11
12
|
-->
|
12
13
|
|
13
14
|
1. <a href="http://sigma.inf.ug.edu.pl/~kbasinski/sp/">Basiński, Krzysztof</a> 16.11
|
@@ -27,4 +28,4 @@
|
|
27
28
|
1. <a href="http://sigma.inf.ug.edu.pl/~dwojkiewicz/sp/">Wojkiewicz, Daniel</a> lab4 (16.11)
|
28
29
|
1. <a href="http://sigma.inf.ug.edu.pl/~pzawodny/sp/">Zawodny, Paweł</a> br
|
29
30
|
1. <a href="http://sigma.inf.ug.edu.pl/~dzduniak/sp/">Zduniak, Daniel</a> br 16.11
|
30
|
-
|
31
|
+
|
data/lib/views/git.rdiscount
CHANGED
data/lib/views/labs10.rdiscount
CHANGED
@@ -13,5 +13,16 @@
|
|
13
13
|
2\. Przygotować po jednym dokumencie (1–2 strony wydruku)
|
14
14
|
pokazującym podstawowe możliwości każdego z pakietów:
|
15
15
|
|
16
|
-
* *graphicx* (dokumentacja *epslatex.pdf*)
|
17
|
-
*
|
16
|
+
* grafika: *graphicx* (dokumentacja *epslatex.pdf*)
|
17
|
+
* pływające wstawki:
|
18
|
+
[*wrapfigure*](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions)
|
19
|
+
(podstawowa funkcjonalność) [floatlft][] albo [photo] (więcej możliwości).
|
20
|
+
|
21
|
+
Zobacz też artykuł w Wikipedii
|
22
|
+
[LaTeX/Floats, Figures and Captions](http://en.wikibooks.org/wiki/LaTeX/Floats,_Figures_and_Captions).
|
23
|
+
|
24
|
+
3\. [Jeopardy!][jeopardy]
|
25
|
+
|
26
|
+
[floatlft]: http://tug.ctan.org/tex-archive/macros/latex/contrib/floatflt/
|
27
|
+
[photo]: http://tug.ctan.org/tex-archive/macros/latex/contrib/photo/
|
28
|
+
[jeopardy]: http://tug.ctan.org/tex-archive/macros/latex/contrib/jeopardy/
|
data/lib/views/latex.rdiscount
CHANGED
@@ -148,9 +148,9 @@ dwukrotnie skompilować dokument).
|
|
148
148
|
% jeśli tego nie zrobisz będzie drukowana aktualna data
|
149
149
|
|
150
150
|
\begin{document}
|
151
|
-
\maketitle %
|
151
|
+
\maketitle % składaj tytuł
|
152
152
|
|
153
|
-
\tableofcontents %
|
153
|
+
\tableofcontents % składaj spis treści
|
154
154
|
|
155
155
|
\section{Pierwsza sekcja}
|
156
156
|
|
@@ -182,7 +182,104 @@ też są znakami specjalnymi. Jeśli je wpiszesz,
|
|
182
182
|
to zostaną wydrukowane zupełnie inne rzeczy.
|
183
183
|
|
184
184
|
|
185
|
-
## Bibliografia
|
185
|
+
## Bibliografia – pakiet *amsrefs*
|
186
|
+
|
187
|
+
Na stronie [The amsrefs package] [amsrefs] umieszczono
|
188
|
+
link do dokumentacji oraz przykładów.
|
189
|
+
|
190
|
+
Prosty przykład może wyglądać tak, plik *szablon.tex*:
|
191
|
+
|
192
|
+
:::latex
|
193
|
+
% !TEX TS-program = xelatex
|
194
|
+
% !TEX encoding = UTF-8 Unicode
|
195
|
+
|
196
|
+
\documentclass[12pt]{article}
|
197
|
+
\usepackage{amsrefs}
|
198
|
+
|
199
|
+
\usepackage{fontspec}
|
200
|
+
\defaultfontfeatures{Mapping=tex-text}
|
201
|
+
\usepackage{hyperref}
|
202
|
+
\usepackage{xunicode}
|
203
|
+
\usepackage{xltxtra}
|
204
|
+
\usepackage{url} % do przełamywania url
|
205
|
+
\usepackage[polish]{polyglossia}
|
206
|
+
|
207
|
+
\begin{document}
|
208
|
+
|
209
|
+
\section{Pierwszy rozdział}
|
210
|
+
|
211
|
+
SGML~\cite{Goldfarb2002} jest to \emph{metajęzyk}
|
212
|
+
służący do opisywania struktury i~zawartości dokumentów.
|
213
|
+
|
214
|
+
\section{Drugi rozdział}
|
215
|
+
|
216
|
+
Typowy proces produkcji dokumentów w~standardzie SGML
|
217
|
+
podzielony jest na kilka części. Najważniejsze elementy tego
|
218
|
+
procesu są opisane w~\cite{Eisenberg2002}.
|
219
|
+
|
220
|
+
\begin{bibdiv}
|
221
|
+
\begin{biblist}
|
222
|
+
\bibselect{literatura}
|
223
|
+
\end{biblist}
|
224
|
+
\end{bibdiv}
|
225
|
+
|
226
|
+
\end{document}
|
227
|
+
|
228
|
+
Plik z bibliografią może wyglądać tak, *literatura.ltb*:
|
229
|
+
|
230
|
+
:::latex
|
231
|
+
% !TEX TS-program = xelatex
|
232
|
+
% !TEX encoding = UTF-8 Unicode
|
233
|
+
|
234
|
+
\documentclass[12pt]{amsbook}
|
235
|
+
\usepackage{amsrefs}
|
236
|
+
|
237
|
+
\usepackage{fontspec}
|
238
|
+
\defaultfontfeatures{Mapping=tex-text}
|
239
|
+
\usepackage{xunicode}
|
240
|
+
\usepackage{xltxtra}
|
241
|
+
\usepackage[polish]{polyglossia}
|
242
|
+
|
243
|
+
\raggedbottom
|
244
|
+
|
245
|
+
\begin{document}
|
246
|
+
|
247
|
+
\begin{bibdiv}
|
248
|
+
\begin{biblist}
|
249
|
+
|
250
|
+
\bib{Goldfarb2002}{book}{
|
251
|
+
author={Charles F. Goldfarb},
|
252
|
+
author={Paul Prescod},
|
253
|
+
title={Charles F. Goldfarb's XML handbook},
|
254
|
+
edition={Fourth},
|
255
|
+
publisher={Princeton-Hall},
|
256
|
+
address={Englewood Cliffs, NJ 07632, USA},
|
257
|
+
date={2002},
|
258
|
+
ISBN={0-13-065198-2; 978-0-13-065198-3},
|
259
|
+
}
|
260
|
+
\bib{Eisenberg2002}{article}{
|
261
|
+
author={Andrew Eisenberg},
|
262
|
+
author={Jim Melton},
|
263
|
+
title={SQL\slash XML is making good progress},
|
264
|
+
date={2002},
|
265
|
+
ISSN={0000-0000},
|
266
|
+
journal={SIGMOD},
|
267
|
+
volume={31},
|
268
|
+
number={2},
|
269
|
+
pages={101\ndash 108},
|
270
|
+
}
|
271
|
+
|
272
|
+
\end{biblist}
|
273
|
+
\end{bibdiv}
|
274
|
+
\end{document}
|
275
|
+
|
276
|
+
Dokument *szablon.tex* kompilujemy dwukrotnie:
|
277
|
+
|
278
|
+
xelatex szablon
|
279
|
+
xelatex szablon
|
280
|
+
|
281
|
+
|
282
|
+
## Bibliografia klasycznie, czyli bibtex
|
186
283
|
|
187
284
|
Teraz przyjrzymy się bardziej skomplikowanemu dokumentowi.
|
188
285
|
Pokazuje on jak przygotowywać bibliografię w systemie LaTeX.
|
@@ -308,10 +405,13 @@ tabelek, korzystanie z koloru, notacja do wpisywania matematyki...
|
|
308
405
|
|
309
406
|
\usepackage{geometry}
|
310
407
|
\geometry{a4paper}
|
311
|
-
|
408
|
+
|
312
409
|
\usepackage{fontspec}
|
313
410
|
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
|
314
|
-
|
411
|
+
\setmainfont[Mapping=tex-text]{Minion Pro:+onum}
|
412
|
+
\setsansfont[Mapping=tex-text]{Myriad Pro}
|
413
|
+
\setmonofont{Monaco}
|
414
|
+
|
315
415
|
\usepackage{xunicode}
|
316
416
|
\usepackage{xltxtra}
|
317
417
|
\usepackage{hyperref}
|
@@ -430,3 +530,5 @@ powinno przekonać do programu niedowiarków.
|
|
430
530
|
[tug]: http://www.tug.org/ "TUG"
|
431
531
|
|
432
532
|
[arxiv]: http://arxiv.org/ "arXiv.org"
|
533
|
+
|
534
|
+
[amsrefs]: http://www.ams.org/tex/amsrefs.html "amsrefs doc"
|
data/lib/views/layout.rdiscount
CHANGED
@@ -16,10 +16,10 @@
|
|
16
16
|
</head>
|
17
17
|
<body>
|
18
18
|
<div class="span-21" id="header">
|
19
|
-
<div id="logo" class="push-1 span-
|
20
|
-
<%= link_to "WB@SP", "/" %><span>
|
19
|
+
<div id="logo" class="push-1 span-13">
|
20
|
+
<%= link_to "WB@SP", "/" %><span>2dc87f…</span>
|
21
21
|
</div>
|
22
|
-
<div class="span-
|
22
|
+
<div class="span-7 last">
|
23
23
|
<div class="append-1" id="links">
|
24
24
|
<a href="http://inf.ug.edu.pl/~wbzyl/">home</a>
|
25
25
|
<a href="http://inf.ug.edu.pl/~wbzyl/galeria/zakopane/2009-08-28-zawrat/">galeria</a>
|
data/lib/views/main.rdiscount
CHANGED
@@ -23,17 +23,18 @@ w komputerze tak się Wam spodobał.
|
|
23
23
|
1. {%= link_to "Jak zostać Uniksowym guru w kwadrans", "/unix-guru" %}
|
24
24
|
1. {%= link_to "TeXLive i inne różne rzeczy", "/texlive" %}
|
25
25
|
1. {%= link_to "Skryptologia stosowana", "/scripts" %}
|
26
|
+
1. {%= link_to "Bash w przykładach", "/bash" %}
|
26
27
|
|
27
28
|
Różne rzeczy:
|
28
29
|
|
29
30
|
* {%= link_to "Wykłady", "/ll"%}
|
30
31
|
* {%= link_to "Ćwiczenia", "/exercises" %}
|
31
|
-
* {%= link_to "Odpowiedzi", "/answers" %}
|
32
32
|
* {%= link_to "Blogi studentów", "/blogs" %}
|
33
33
|
|
34
34
|
|
35
35
|
## Literatura
|
36
36
|
|
37
|
+
1. [FreeBSD Man Pages] [freebsd].
|
37
38
|
1. A. Robbins, N. H. F. Beebe. „Programowanie skryptów powłoki”. Helion 2005.
|
38
39
|
1. C. Albing, JP Vossen, C. Newham. „Bash receptury”. Helion 2008.
|
39
40
|
1. S. Chacon. [Pro Git – professional version control] [progit].
|
@@ -57,6 +58,7 @@ Różne rzeczy:
|
|
57
58
|
|
58
59
|
#### Linki
|
59
60
|
|
61
|
+
[freebsd]: http://www.freebsd.org/cgi/man.cgi "FreeBSD Man Pages: Index Page"
|
60
62
|
[lshort2e]: ftp://ftp.gust.org.pl/pub/CTAN/info/lshort/polish/lshort2e.pdf "Wprowadzenie do systemu LaTeX2e"
|
61
63
|
[gnu os]: http://www.gnu.org/fun/fun.html "Laugh along with GNU - GNU Project - Free Software Foundation (FSF)"
|
62
64
|
[progit]: http://progit.org/book/ "Pro Git – professional version control"
|
data/lib/views/texlive.rdiscount
CHANGED
@@ -47,8 +47,8 @@ Zawartość tego pliku podejrzymy tak:
|
|
47
47
|
Na stronie [TeX Live availability](http://www.tug.org/texlive/acquire.html)
|
48
48
|
znajdziemy link do instalki systemu bezpośrednio z internetu
|
49
49
|
„TeX Live installation over the Internet”:
|
50
|
-
[Linux](http://mirror.ctan.org/systems/texlive/tlnet/
|
51
|
-
[Windows](http://mirror.ctan.org/systems/texlive/tlnet/
|
50
|
+
[Linux](http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz)
|
51
|
+
[Windows](http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip).
|
52
52
|
|
53
53
|
Po rozpakowaniu archiwum, uruchamiamy skrypt:
|
54
54
|
|
@@ -58,7 +58,7 @@ i po chwili widzimy, że będziemy musieli czekać z tydzień, zanim
|
|
58
58
|
zostaną ściągnięte wszystkie pakiety. Aby przyspieszyć instalację
|
59
59
|
wymieniamy domyślnie ustawiony serwer z którego pobierane są pakiety:
|
60
60
|
|
61
|
-
sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/
|
61
|
+
sudo ./install-tl -location ftp://ftp.gust.org.pl/tex-archive/systems/texlive/tlnet/tlpkg/
|
62
62
|
|
63
63
|
Domyślne ustawienie drzewek techowych w TeXLive:
|
64
64
|
|
@@ -353,6 +353,7 @@ Edytory ASCII i non-ASCII. [Emacs kontra Vi] [wojny edytorowe].
|
|
353
353
|
|
354
354
|
Użyteczne linki:
|
355
355
|
|
356
|
+
* [emacs-fu](http://emacs-fu.blogspot.com/)
|
356
357
|
* [A Guided Tour of Emacs] [emacs-tour]
|
357
358
|
* {%= link_to "Skróty klawiszowe edytora Emacs", "/doc/survival.pdf" %}
|
358
359
|
* [Emacs Wiki] [emacs-wiki]
|
data/sp-tutorial.gemspec
CHANGED
@@ -5,14 +5,14 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{sp-tutorial}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wlodek Bzyl"]
|
12
|
-
s.date = %q{2009-
|
13
|
-
s.description = %q{Notatki do
|
12
|
+
s.date = %q{2009-12-27}
|
13
|
+
s.description = %q{Notatki do wykladu: Srodowisko Programisty
|
14
14
|
}
|
15
|
-
s.email = %q{matwb@
|
15
|
+
s.email = %q{matwb@ug.edu.pl}
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"README.markdown"
|
18
18
|
]
|
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
"lib/public/doc/survival.pdf",
|
31
31
|
"lib/public/doc/templates/article-bibliography.tex",
|
32
32
|
"lib/public/doc/templates/article-hyperref.tex",
|
33
|
+
"lib/public/doc/xetex-pl.pdf",
|
33
34
|
"lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg",
|
34
35
|
"lib/public/images/alan_kay.jpg",
|
35
36
|
"lib/public/images/alan_perlis.jpg",
|
@@ -73,6 +74,7 @@ Gem::Specification.new do |s|
|
|
73
74
|
"lib/public/stylesheets/uv.css",
|
74
75
|
"lib/sp-tutorial.rb",
|
75
76
|
"lib/views/answers.rdiscount",
|
77
|
+
"lib/views/bash.rdiscount",
|
76
78
|
"lib/views/blogs.rdiscount",
|
77
79
|
"lib/views/exercises.rdiscount",
|
78
80
|
"lib/views/favicon.ico.rdiscount",
|
@@ -102,7 +104,7 @@ Gem::Specification.new do |s|
|
|
102
104
|
s.require_paths = ["lib"]
|
103
105
|
s.rubyforge_project = %q{sp-tutorial}
|
104
106
|
s.rubygems_version = %q{1.3.5}
|
105
|
-
s.summary = %q{Notatki do wykladu
|
107
|
+
s.summary = %q{Notatki do wykladu Srodowisko Programisty.}
|
106
108
|
|
107
109
|
if s.respond_to? :specification_version then
|
108
110
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
@@ -113,23 +115,26 @@ Gem::Specification.new do |s|
|
|
113
115
|
s.add_runtime_dependency(%q<sinatra>, [">= 0"])
|
114
116
|
s.add_runtime_dependency(%q<rdiscount>, [">= 0"])
|
115
117
|
s.add_runtime_dependency(%q<ultraviolet>, [">= 0"])
|
116
|
-
s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
117
118
|
s.add_runtime_dependency(%q<rack-codehighlighter>, [">= 0"])
|
119
|
+
s.add_runtime_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
120
|
+
s.add_runtime_dependency(%q<sinatra-static-assets>, [">= 0"])
|
118
121
|
else
|
119
122
|
s.add_dependency(%q<rack>, [">= 0"])
|
120
123
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
121
124
|
s.add_dependency(%q<rdiscount>, [">= 0"])
|
122
125
|
s.add_dependency(%q<ultraviolet>, [">= 0"])
|
123
|
-
s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
124
126
|
s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
|
127
|
+
s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
128
|
+
s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
|
125
129
|
end
|
126
130
|
else
|
127
131
|
s.add_dependency(%q<rack>, [">= 0"])
|
128
132
|
s.add_dependency(%q<sinatra>, [">= 0"])
|
129
133
|
s.add_dependency(%q<rdiscount>, [">= 0"])
|
130
134
|
s.add_dependency(%q<ultraviolet>, [">= 0"])
|
131
|
-
s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
132
135
|
s.add_dependency(%q<rack-codehighlighter>, [">= 0"])
|
136
|
+
s.add_dependency(%q<sinatra-rdiscount>, [">= 0"])
|
137
|
+
s.add_dependency(%q<sinatra-static-assets>, [">= 0"])
|
133
138
|
end
|
134
139
|
end
|
135
140
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sp-tutorial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wlodek Bzyl
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-27 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -52,6 +52,16 @@ dependencies:
|
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: "0"
|
54
54
|
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rack-codehighlighter
|
57
|
+
type: :runtime
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: "0"
|
64
|
+
version:
|
55
65
|
- !ruby/object:Gem::Dependency
|
56
66
|
name: sinatra-rdiscount
|
57
67
|
type: :runtime
|
@@ -63,7 +73,7 @@ dependencies:
|
|
63
73
|
version: "0"
|
64
74
|
version:
|
65
75
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
76
|
+
name: sinatra-static-assets
|
67
77
|
type: :runtime
|
68
78
|
version_requirement:
|
69
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -73,9 +83,9 @@ dependencies:
|
|
73
83
|
version: "0"
|
74
84
|
version:
|
75
85
|
description: |
|
76
|
-
Notatki do
|
86
|
+
Notatki do wykladu: Srodowisko Programisty
|
77
87
|
|
78
|
-
email: matwb@
|
88
|
+
email: matwb@ug.edu.pl
|
79
89
|
executables: []
|
80
90
|
|
81
91
|
extensions: []
|
@@ -96,6 +106,7 @@ files:
|
|
96
106
|
- lib/public/doc/survival.pdf
|
97
107
|
- lib/public/doc/templates/article-bibliography.tex
|
98
108
|
- lib/public/doc/templates/article-hyperref.tex
|
109
|
+
- lib/public/doc/xetex-pl.pdf
|
99
110
|
- lib/public/images/Thatll_Flat_Git_It_Vol_20.jpg
|
100
111
|
- lib/public/images/alan_kay.jpg
|
101
112
|
- lib/public/images/alan_perlis.jpg
|
@@ -139,6 +150,7 @@ files:
|
|
139
150
|
- lib/public/stylesheets/uv.css
|
140
151
|
- lib/sp-tutorial.rb
|
141
152
|
- lib/views/answers.rdiscount
|
153
|
+
- lib/views/bash.rdiscount
|
142
154
|
- lib/views/blogs.rdiscount
|
143
155
|
- lib/views/exercises.rdiscount
|
144
156
|
- lib/views/favicon.ico.rdiscount
|
@@ -190,6 +202,6 @@ rubyforge_project: sp-tutorial
|
|
190
202
|
rubygems_version: 1.3.5
|
191
203
|
signing_key:
|
192
204
|
specification_version: 3
|
193
|
-
summary: Notatki do wykladu
|
205
|
+
summary: Notatki do wykladu Srodowisko Programisty.
|
194
206
|
test_files: []
|
195
207
|
|