sp-tutorial 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +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
|
|