Język Lua i LaTeX

Ebook Język Lua i LaTeX Bartłomiej Przybylski

Bartłomiej Przybylski
61,07 zł
Dodaj do ulubionych

Opis treści

Lua i LaTeX. Dynamiczne tworzenie dokumentów to książka, która staje na granicy dwóch na pozór odległych światów – programowania i składu tekstu. Po jednej stronie Lua – szybki, łatwy i użyteczny język programowania o licznych zastosowaniach. Po drugiej LaTeX – zaawansowany system składu tekstu o rosnącej z roku na rok popularności.
Ich połączenie otwiera wiele nowych możliwości, dla których inspirację znajdziesz w tej książce.
Pozycja ta stanowi pierwsze polskojęzyczne wprowadzenie do dynamicznego tworzenia dokumentów z wykorzystaniem języka Lua i systemu LaTeX.
Podzielona jest na trzy niezależne części:
· Część I. Język Lua
To łagodne i przyjazne wprowadzenie do języka Lua, wzbogacone o liczne komentarze, przykłady i ćwiczenia. Pozwolą Ci one nie tylko lepiej zrozumieć samą konstrukcję języka, ale także wyrobić w sobie uniwersalną umiejętność myślenia algorytmicznego.
· Część II. LuaLaTeX
Dzięki informacjom zawartym w tej części dowiesz się, w jaki sposób kod napisany w języku Lua może wpłynąć na dokumenty generowane przez system LaTeX. Poznasz w tym celu możliwości silnika LuaLaTeX i nauczysz się z nich korzystać.
· Część III. Praktyczne przykłady
Nawet najlepiej wprowadzona teoria nie zastąpi odrobiny praktyki. Ta część stanowi zbiór interesujących przykładów, w których wiedza zawarta w dwóch pierwszych częściach znajduje zastosowanie do rozwiązania rzeczywistych problemów.
Książka przeznaczona jest dla osób, które znają już podstawy tworzenia dokumentów w systemie LaTeX, ale chcą się dowiedzieć, w jaki sposób można zwiększyć jego możliwości.

Spis treści ebooka Język Lua i LaTeX

Przedmowa 11

I. Język Lua 15

Rozdział 1.Zanim zaczniemy 17
1.1. Środowisko pracy 18
1.2. Programy i biblioteki 21

Rozdział 2.Elementarz 23
2.1. Tryb interaktywny 25
2.2. Anatomia programu 27
2.2.1. Wartości i typy danych 27
2.2.2. Wyrażenia 29
2.2.3. Instrukcje 30
2.2.4. Porcje kodu i programy 31
2.3. Zmienne 31
2.3.1. Wartość domyślna 32
2.3.2. Typ zmiennej 33
2.3.3. Instrukcja przypisania .34
2.4. Komentarze 35

Rozdział 3.Typ podstawowy boolean 41
3.1. Operatory 41
3.1.1. Operatory relacji 42
3.1.2. Operatory logiczne 44
3.1.3. Priorytety operatorów 45
3.2. Instrukcja warunkowa if 46
3.3. Pętle 48
3.3.1. Pętla while 48
3.3.2. Pętla repeat-until 48
3.3.3. Instrukcja break 49

Rozdział 4.Typ podstawowy number 52
4.1. Wartości liczbowe 53
4.2. Operatory 54
4.2.1. Operatory relacji 54
4.2.2. Operatory arytmetyczne 55
4.3. Biblioteka matematyczna 56
4.3.1. Stałe 56
4.3.2. Funkcje trygonometryczne 57
4.3.3. Funkcje liczbowe 58
4.3.4. Generator liczb pseudolosowych 59
4.3.5. Innefunkcje 60
4.3.6. Przejściepomiędzywartościami integer i float 60
4.4. Numeryczna pętla for 61

Rozdział 5.Typ podstawowy string 65
5.1. Stałe wartości znakowe 65
5.1.1. Anatomia ciągu znaków 67
5.1.2. Długie ciągi znaków 69
5.2. Operatory 71
5.2.1. Operator # 71
5.2.2. Operatory relacji 72
5.2.3. Operator konkatenacji (łączenia) 72
5.2.4. Na styku typów 72
5.3. Biblioteka tekstowa 74
5.3.1. Podstawowe funkcje 75
5.3.2. Podciągi 75
5.3.3. Reprezentacje liczbowe 76
5.3.4. Przeszukiwanie i podstawienia 77
5.3.5. Formatowanie ciągu 78
5.4. Kodowanie utf-8 81

Rozdział 6.Typ obiektowy table 87
6.1. Tabele i klucze 87
6.1.1. Klucze 88
6.1.2. Konstruktory tabel 91
6.2. Tabele sekwencyjne 93
6.2.1. Sekwencje 93
6.3. Biblioteka dla sekwencji 95
6.3.1. Dodawanie,usuwanie i przemieszczanie elementów sekwencji 95
6.3.2. Sortowanie 97
6.3.3. Funkcje ogólnego przeznaczenia 98
6.4. Tabela arg 100

Rozdział 7.Typ obiektowy function 103
7.1. Argumenty i wartości 105
7.1.1. Argumenty funkcji 105
7.1.2. Wartości zwracane przez funkcje 106
7.1.3. Funkcje o nieznanej liczbie argumentów 108
7.2. Zasięg zmiennych 110
7.2.1. Bloki kodu 111
7.2.2. Zmienne lokalne 111
7.3. Funkcje jako wartości pierwszoklasowe 113
7.3.1. Funkcje anonimowe 114
7.3.2. Funkcje lokalne 115
7.4. Iteratory 116
7.4.1. Domknięcia i zmienne nielokalne 117
7.4.2. Iteratory 118
7.4.3. Ogólna pętla for 119
7.4.4. Funkcje iteracyjne dla tabel 120

Rozdział 8.Obsługa wejścia i wyjścia 124
8.1. Podstawowy model obsługi wejścia i wyjścia 124
8.1.1. Funkcja io.write 125
8.1.2. Funkcja io.read 127
8.1.3. Iterator io.lines 128
8.2. Pełen model obsługi wejścia i wyjścia 129
8.2.1. Funkcja io.open 129
8.2.2. Wywoływanie funkcji na strumieniach danych 131
8.2.3. Iterator io.lines raz jeszcze 132
8.2.4. Inne operacje na plikach 132

Rozdział 9.Dopasowywanie do wzorców tekstowych 137
9.1. Wzorce 138
9.1.1. Funkcja string.match 140
9.1.2. Iterator string.gmatch 140
9.1.3. Klasy symboli 141
9.1.4. Modyfikatory wielokrotności 143
9.1.5. Dopasowywanie podciągów ograniczonych 146
9.1.6. Kotwice 147
9.2. Przechwytywanie fragmentów dopasowań 148
9.2.1. Podstawowy mechanizm przechwytywania fragmentów dopasowań 149
9.2.2. Wewnętrzne odwołania do przechwyconych fragmentów 150
9.3. Funkcja string.gsub 151
9.3.1. Podstawienia stałej wartości 152
9.3.2. Podstawienia wartości zależnej od fragmentu dopasowania 152
9.3.3. Podstawienia pochodzące z tabeli 154
9.3.4. Podstawienia zwracane przez funkcje 154
9.4. Prosty konwerter zjęzyka LATEX do języka xhtml 155

Rozdział 10.Moduły i pakiety 160
10.1. Funkcja require 160
10.1.1. Ścieżki do plików modułów 162
10.2. Własne moduły i pakiety 163
10.2.1. Prosty moduł 163
10.2.2. Inne zwyczaje 165
10.2.3. Podmoduły i pakiety 167
10.3. Oprogramowanie LuaRocks 168
10.3.1. Instalacja programu luarocks 168
10.3.2. Instalacja modułów 169
10.3.3. Dostęp do modułów z poziomu interpretera Lua 169

Czego nie znajdziesz w tej książce 171

II. LuaLaTeX 175

Rozdział 11.Wprowadzenie 177
11.1. Silniki i formaty 178
11.2. Czym się różnią pdfTEX i LuaTEX? 179
11.3. Jak przejść od pdfLATEX do LuaLATEX? 180

Rozdział 12.Wbudowany interpreter Lua 182
12.1. Polecenie directlua 182
12.1.1. Polecenie directlua w trzech krokach 183
12.1.2. Potencjalne problemy 183
12.1.3. Umieszczanie kodu Lua w zewnętrznych plikach 187
12.2. LATEX i symbole specjalne 188
12.3. Pakiet luacode 191
12.3.1. Nowe polecenia i otoczenia 191
12.3.2. Tabliczka mnożenia 192
12.3.3. Debugowanie kodu 194
12.4. Podstawowe funkcje z biblioteki tex 194
12.4.1. Funkcje wypisujące kod TEXa 195
12.4.2. Funkcja tex.error 196
12.5. Biblioteka texio 197

Rozdział 13.Wywołania zwrotne 200
13.1. Wywołania zwrotne i biblioteka callback 200
13.1.1. Punkty kompilacji i ich identyfikatory 201
13.1.2. Podstawowe funkcje z biblioteki callback 201
13.1.3. Przykład automatyczne pogrubienie liczb 202
13.2. Wywołania zwrotne i biblioteka luatexbase 203
13.2.1. Przykład automatyczne formatowanie liczb 205
13.3. Wybrane punkty dla wywołań zwrotnych 206
13.3.1. Poszukiwanie plików 206
13.3.2. Przetwarzanie danych 207

Rozdział 14.Biblioteka lualibs 210
14.1. Moduł lualibs-boolean 211
14.2. Moduł lualibs-number 212
14.3. Moduł lualibs-string 213
14.4. Moduł lualibs-table 214
14.5. Moduł lualibs-math 216
14.6. Moduł lualibs-io 216
14.7. Moduł lualibs-os 218
14.8. Moduł lualibs-gzip 218
14.9. Moduł lualibs-md5 219
14.10. Moduł lualibs-dir 219
14.11. Moduł lualibs-unicode 221

Czego nie znajdziesz w tejksiążce 223

III. Praktyczne przykłady 227

Przykład 1.Quiz 229
1.1. Wymagania 229
1.2. Plik z bazą pytań 230
1.3. Moduł quiz-module 232
1.3.1. Zmienne wykorzystywane przez moduł 232
1.3.2. Funkcja sygnatury 232
1.3.3. Funkcje związane z wczytywaniem danych 232
1.3.4. Funkcje związane z generowaniem testu 236
1.3.5. Funkcje związane z odczytywaniem testu 239
1.3.6. Pełen kod źródłowy pliku quiz-module.lua 239
1.4. Przykładowy plik LuaLATEXa 243

Przykład 2.Tabliczki 251
2.1. Wymagania 251
2.2. Moduł csv 253
2.2.1. Funkcje csv.open i csv.openstring 255
2.2.2. Iterator lines 256
2.2.3. Parametr columns 258
2.3. Tabliczki 260
2.3.1. Wczytywanie danych z pliku 260
2.3.2. Sortowanie listy pracowników 261
2.3.3. Generowanie dokumentu 262
2.3.4. Pełen kod źródłowy dokumentu 264

Przykład 3.Rachunek 269
3.1. Opracowane rozwiązanie 269
3.2. Moduł luasql.mysql 271
3.2.1. Środowisko MySQL i połączenie z bazą danych 272
3.2.2. Operacje na bazie danych 274
3.2.3. Odczytywanie pozyskanych danych 275
3.3. Rachunek 277
3.3.1. Numer rachunku 277
3.3.2. Pobieranie danych instytucji 278
3.3.3. Lista produktów 279
3.3.4. Pełen kod źródłowy dokumentu 282

Dodatki 289

Dodatek A. Polecane lektury 291

Dodatek B. Tabela znaków ascii 292

Dodatek C. Odpowiedzi do wybranych zadań 294

Indeks 315

Szczegóły ebooka Język Lua i LaTeX

Wydawca:
Wydawnictwo Naukowe PWN
Rok wydania:
2017
Typ publikacji:
Ebook
Język:
polski
Format:
pdf
ISBN:
978-83-01-19696-7
ISBN wersji papierowej:
978-83-01-19696-7
Wydanie:
1
Autorzy:
Bartłomiej Przybylski
Miejsce wydania:
Warszawa
Liczba Stron:
300
Czas realizacji zamówienia:
Do 10 min

Na jakich urządzeniach mogę czytać ebooki?

Ikona ebooka Na czytnikach Kindle, PocketBook, Kobo i innych
Ikona komutera Na komputerach stacjonarnych i laptopach
Ikona telefonu Na telefonach z systemem ANDROID lub iOS
Ikona urządzenia elektroniczne Na wszystkich urządzeniach obsługujących format plików PDF, Mobi, EPub