Język Lua i LaTeX

Tworzenie dynamicznych dokumentów

2 oceny

Format:

pdf, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

69,00

Format: pdf

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa:

Najniższa cena z 30 dni: 41,40 zł  


69,00

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 24,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

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.


Rok wydania2017
Liczba stron300
KategoriaProgramowanie
WydawcaWydawnictwo Naukowe PWN
ISBN-13978-83-01-19696-7
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

Ciekawe propozycje

Spis treści

  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
RozwińZwiń