BachoTeX 2024

 

XXIX Konferencja Polskiej Grupy Użytkowników Systemu TEX

30 kwietnia – 5 maja 2024

Lista wystąpień → 🇬🇧

Referaty

Byki Podróżniki to włóczkowe maskotki, które od 2017 roku towarzyszą pracownikom 7bulls w ich podróżach służbowych i wypoczynkowych. Wzorem krasnala z filmu Amelia fotografują się w różnych miejscach na całym świecie. W tym roku jeden z Byków wziął udział w tegorocznym WOŚP, co stało się okazją do wydania książki o podróżach Byka i jego braci i sióstr. Pracę nad powstaniem książki zgodzili się wesprzeć radą i pomocą stali bywalcy Bachotka Andrzej Tomaszewski i Boguś Jackowski oraz Kasia Wójcik, której także zdarzyło się tu być. Opowiem krótko, o Bykach, ich historii i podróżach oraz o książce i historii jej powstania.

Fotografia to obecnie najbardziej powszechnie dostępny sposób wyrażania twórczej ekspresji. Wszyscy dzisiaj jesteśmy fotografami – to banalne stwierdzenie, ale skoro już nimi jesteśmy, to spróbujmy razem obrazami opowiedzieć historię Bachotka. Kim jesteśmy, dlaczego tu przyjeżdżamy, dlaczego wracamy? Opowiedzmy o tym jezykiem obrazów. Językiem, którym nie tyle pokazujemy świat jaki jest, ale raczej kreujemy nasze własne światy. Bo stworzone fotografią obrazy to okno, przez które patrzymy, pokazujące co dla nas ważne, co warte zapamiętania, ale to okno zaczarowane bo zarazem jak lusto, magicznie odbijające nas samych i to kim jesteśmy.

Aby oderwać głowy od myślenia konwergencyjnego a oczy od ekranów komputera proponuję zająć się pisaniem (ręcznym!) lepieji, moskalików czy nawet (dla ambitnych) limeryków. Czym to się je – opowiem.

Przedstawiamy potok oparty na LaTEX‑u, który umożliwia składanie drzew genealogicznych wydobywanych z popularnych baz danych genealogicznych. Nasza praca jest motywowana pośmiertnym wydaniem ostatniej książki Barbary Bielawskiej-Dębowskiej (1937–2020), Bielawscy – Pięciu w linii prostej, w której zastosowaliśmy ten potok.

Nasza metoda opiera się na pakiecie genealogytree dostępnym na CTAN-ie, autorstwa Thomasa F. Sturma, który ułatwia tworzenie złożonych i konfigurowalnych drzew genealogicznych jako obrazków tikz. Niestety, pakiet ten nie dostarcza narzędzia do generowania kodu źródłowego LaTEX‑a drzew genealogicznych na podstawie obszernych tekstowych baz danych genealogicznych, zazwyczaj przechowywanych w formacie GEDCOM, standardzie de facto opracowanym przez Kościół Jezusa Chrystusa Świętych w Dniach Ostatnich. Przykładowo, baza danych Barbary Bielawskiej-Dębowskiej zawiera ponad 2300 osób.

Dostrzegając potrzebę generowania kodu LaTEX-owego z baz danych GEDCOM, napisaliśmy skrypt w Perlu o nazwie gedcom2latex.pl, który generuje kod LaTEX‑a w trzech standardowych formatach drzew pakietu genealogytree: drzewa przodków, drzewa potomków i drzewa klepsydry. Skrypt gedcom2latex.pl umożliwia zlokalizowanie identyfikatora danej osoby w bazie danych GEDCOM i narysowania drzewa z zadaną liczbą pokoleń rozpoczynającego się od tej osoby.

Skrypt gedcom2latex.pl z przykładami użycia został opublikowany na platformie GitHub (https://github.com/lukasz-debowski/Gedcom2Latex) i jest dostępny na licencji GNU General Public License.

Przedstawiamy narzędzie, które redukuje trudność tworzenia indeksu osób w plikach LaTEX-owych w języku polskim. Wykorzystując standardowy mechanizm indeksowania LaTEX‑a, wzbogacamy go o potok skryptów napisanych w Perlu, który wykonuje rozpoznawanie jednostek nazewniczych (named entity recognition, NER). Nasza praca jest motywowana pośmiertnym wydaniem ostatniej książki Barbary Bielawskiej-Dębowskiej (1937–2020), Bielawscy – Pięciu w linii prostej, w której zastosowaliśmy ten potok.

Funkcjonalność potoku NER polega na wstawianiu etykiet indeksu LaTEX-owego do pliku z surowym tekstem. Poradziliśmy sobie z problemami takimi jak wykrywanie wzmianek, normalizacja etykiet oraz uzupełnianie brakujących informacji. Ze względu na znaczną idiosynkrazję zdrobnień używanych przez Barbarę Bielawską-Dębowską, nie skorzystaliśmy z Morfeusza, dostępnego analizatora morfologicznego dla języka polskiego.

Zamiast tego, od podstaw, opracowaliśmy zestaw dedykowanych skryptów w Perlu, które implementują potrzebny podzbiór morfologii polskiej oraz składni nazw osobowych. Nasze skrypty radzą sobie zarówno z prostą koordynacją imion, jak i z bardziej złożoną składnią nazwisk żeńskich. Normalizacja etykiet polega na dodawaniu brakujących informacji poprzez znalezienie najbliższych wzmianek, które można zunifikować we wszystkich czterech polach nazw osobowych: nazwiska panieńskiego, nazwisk, imion oraz pseudonimów.

Potok nasz został opracowany specjalnie na użytek składu książki Barbary Bielawskiej-Dębowskiej. Nie jest on publicznie dostępny, ale może być udostępniony na życzenie.

Przedstawimy uczestnikom grę ctx. Przygotujemy kilka partii do rozgrywania w trakcie konferencyjnych godzin późno-nocnych czy wczesno-rannych.

Ostatnio nieco się wyjaśniło w zakresie oznakowywania plików pdf. Jaki ma to cel, i jeśli będziemy musieli to zastosować, jak sobie z tym poradzić. Np. uniwersytety wymagają oznakowywania dla ulepszenia dostępności. Ta prezentacja jest wstępem do prezentacji „Rytmiczne iluzje”

W próbie pokonania nadciągającej sztucznej inteligencji matematycznej rozwinęliśmy nowe podejście do składania i prezentowania matematyki. To, co przedstawimy wpasowuje się także w dzisiejsze wymagania dostępności, niskiego progu wejścia dla studentów i podejścia zróbcie-matmę-łatwą.

Zakotwiczony w latach nauczania studentów matematyki, rozwijając makra podczas słuchania rytmicznych iluzji, i studiując ruch oparty o rytm, nasz zespół jest już gotowy do przedstawienia wyników szerszej publiczności. Jednak zanim to zrobimy, chcemy wykalibrować zestaw narzędziowy Ritmik i w tym celu będziemy chcieli (podobnie jak w zeszłym roku) wykorzystać międzynarodową publiczność BachoTEXową.

Ostatnio dodaliśmy nowe funkcjonalności do MetaPosta i MetaFuna, Niektóre z nich są podstawowe, inne raczej wygodnym wspomaganiem. Omówimy kilka z tych nowinek i, cóż może dawać większą radość, zrobimy to pokazując przykłady. Oczekujemy też na pytania i nowe wyzwania od Jacko!

Jedną z silnych stron TEXa jest algorytm Knutha-Plassa łamania wierszy na akapity. Omówimy w jaki sposób on działa i jakie w niektórych przypadkach istnieją możliwości jego ulepszenia. Pokażemy jak dodatkowe (konfigurowalne) przebiegi łamania wierszy mogą poprawić wynik.

Omówimy także problem łamania stron. W szczególności przedyskutujemy nowe możliwości zamrożenia kleju międzwierszowego i użycia rozwinięcia [expansion] pionowego. Jeśli wystarczy czasu opowiemy (i pokażemy) o korytarzach i optymalizacji odstępów międzywierszowych.

Fonty pełnią ważną rolę wśród różnych projektów którymi się zajmujemy: będziemy mówili o ostatecznej decyzji podjętej w stosunku do fontów matematycznych (łącznie z fontami towarzyszącymi), o współczesnym sposobie postępowania z bitmapami, zwiększeniu efektywności obsługi wielkich fontów w LuaMetaTEXu, łączeniu fontów w plikach PDF, itp.

Jak czuje się ktoś, kto zapomniał gestu odblokowania swojego telefonu komórkowego? Jakie narzędzia z rodziny TEXa i jego przyjaciół mogą im pomóc? I jak to się skończyło?

Zainspirowany mottem tegorocznej konferencji „Myśli poskładane” opowiem, co się wydarzyło i jak można z pożytkiem połączyć Lua, ConTEXt, MetaPost i bash, aby pomóc komuś pokonać zapomniany gest logowania na własnym telefonie.

To, które słowa powinny być pisane z wielkiej litery zależy w oczywisty sposób od użytego języka. Może również zależeć od kontekstu, np. tytuły w bibliografii. Nasza prezentacja zajmie się regułami dla angielskiego, francuskiego, niemieckiego i polskiego z podkreślaleniem wspólnych reguł i rozbieżności.

Pokażemy, jak ewoluowały klucze i pięciolinie, od wczesnych notacji do wpółczesności. Jak zobaczymy, w szczególności klucze wyglądały bardzo różnie, w zależności od używanych czcionek. Zakończymy prezentację odkrywaniem egzotycznych pięciolinii w muzyce współczesnej.

Zrelacjonujemy eksperyment składania materiałów konferencyjnych polegający na automatycznym generowaniu możliwie największej liczby informacji. Na przykład wyszukujemy w kolejnych plikach źródłowych tytuły do spisu treści. Poszczególne pliki muszą być przetwarzane TEXopodobnym formatem, jak pdfLaTEX, LuaLaTEX czy ConTEXt. Wykorzystanie naszej funkcjonalności wymaga uniksopodobnego procesora make i interpretera lub kompilatora Scheme.

Parę lat temu zdecydowaliśmy, by udostępnić oprogramowanie, którym w ramach przedsięwzięcia GUST e‑Foundry tworzyliśmy fonty (TEX Gyre, Latin Modern). W miarę jak powstawało oprogramowanie, świat fontowy się zmieniał. Staraliśmy się nadążyć za tymi zmianami, co, niestety, zaowocowało skomplikowanym kodem niedostatecznie udokumentowanym. Stąd decyzja, żeby uprościć i udokumentować nasze oprogramowanie fontowe przed publicznym udostępnieniem.

Chciałoby się, by zmienione oprogramowanie generowało identyczne fonty jak oprogramowanie sprzed zmian. Tu pojawia się pytanie, czy da się zachować identyczność. Nietrudno zgadnąć, że odpowiedź brzmi – nie.

Prezentacja będzie poświecona kwestii, do jakiego stopnia (można | trzeba | warto) zachowywać kompatybilność wsteczną w świecie fontowym.

Wszystko zaczęło się od małego skryptu shellowego, (prawie jednolinijkowca) by pomóc kolegom w firmie Bosch w drukowaniu bmap na pozłacanych waflach krzemowych, przy czym testowym obrazkiem był logotyp linuksowy TuX. Przywiozę i pokażę te wafle...

Wokół tej „działaności artystycznej”, w 2021 r., podczas covidu pojawiła się dodatkowa działalność rękodzielnicza, głównie dla przyjemności i organizatorów spotkania ConTEXowego, bawiłem się wycinarką laserową (to też „drukarka”) i wykonałem w akrylu logotypy LaTEXa i ConTEXta ozdabiając je LEDami RGB (neoPixel).

Przygotwując prezentację na ConTEXowe spotkanie w 2021 r. uświadomiłem sobie, że zacząłem bawić się i pracować z z drukarkami wcześniej niż z kartami graficznymi, dawno temu, w szkole.

Tak więc będziemy mieli wstęp historyczny i biograficzny, a potem o „moich drukarkach” , dalej „jak drukować na waflach” oraz kilka nauk dotyczących laserowego cięcia akrylu, itd.

Przedstawię klasyczny program „Witaj, świecie!” w 40+ językach. Słuchacze są proszeni o zgadywanie, w jakim języku zostały napisane poszczególne programy. Paleta języków rozciąga się od bardzo starych do całkiem nowoczesnych, niektóre autobiograficzne, niektóre tylko do zabawy.

Prezentacja będzie dotyczyła idei Book Nooków. Zostanie przedstawiona jej historia oraz przykłady projektów.

Proponowane jest nowatorskie, lekkie podejście do dokumentowania kodu oprogramowania, czerpiące inspirację z zasad Programowania Literackiego autorstwa D.E. Knutha. Omawiane są różne aspekty nowej metody, w tym jej implementacja w językach Lua i ConTEXt. Dodatkowo, prezentowany i analizowany jest konkretny przykład zastosowania metody do dość złożonego programu w języku Python.

Dane są nowym złotem. Krótko o analizie danych, wizualizacji i, oczywiście, nauce. Czy mogą one dać jakąś wartość społeczności TEXowej?

TEX-owe znaki specjalne – $ & # ^ _ % – od -nastu lat sprawiały mi kłopot zwłaszcza przy kopiowaniu tekstów z Internetu do plików źródłowych w (La)TEX‑u, oraz w drugą stronę – np. z/na portale społecznościowe.

Dlatego stwierdziłem „enough is enough” i zrobiłem alternatywny zestaw znaków, przypisując im Unikody z Private Use Area, zaś znakom standardowym „przywracając” kotokod 12 „inne”.

Zamierzam opowiedzieć, co w kwestii znaków [alt-$] [alt-&] [alt-#]¹ [alt-^] [alt-_] [alt-%] było proste, a co trudne:

  • przypisać kotokody – „That’s the easy part”
  1. *wybrać* i przypisać Unikody – trochę trudne, ale łatwe;
  2. zaprojektować (wygląd): zarazem podobne jak i odróżniające się od tych z ASCII – wyzwanie;
    (jak wygląda Dolar Szesnastkowy Banku San Serriffe? 😉 )
  3. dostosować formatowanie w Emacs-ie/AUCTEX‑u – niezwykle trudne i uciążliwe; wstrzymywało rzecz przez -naście lat.
    _hardcoded in AUCTEX_ w -dziestu miejscach (!!) jako znak „niedopomyśleniowości” tego pomysłu.
  4. Co z bakslaszem i klamrami?
    ⑊ już jest,
    „alt-klamry” można bez trudu wybrać z bogactwa nawiasów i „ornamentów nawiasowatych” (parenthesis ornaments) lub zrobić jak w 1.–3.)

¹ zależnie od przyznanego czasu ewentualnie opowiem też o dodatkowych znakach kotokodu 6 zaprojektowanych dla śledzenia drogi argumentu (keeping track of given argument to a command) przetwarzanego przez kolejne makra pod różnymi numerami parametru.

Odreagowując obcowanie z literaturą product-placementową, na które mimowolnie skazałem się podejmując się zeskanować pewne wytwory powieściowate na potrzeby badań lingwistycznych, postanowiłem zadrukować kartki do nieczytelności, aby nie wyrzucając papieru uchronić siebie i bliźnich od wydrukowanych na nim treści.

Pomysł rozwinął się w małe studium algorytmu tasującego Knutha-Durstenfelda-Fishera-Yatesa (wraz z zaskakująco prostym dowodem) i zagadnienia generacji liczb pseudolosowych (w programistycznej ogólności i w TEXowej szczególności)

...celem pseudolosowania stron „zacierkowych”, kątów ich „zwichrowania”, oraz fontów dla pseudo-symboli/pseudo-logo’ów jakoby szyderczych pseudo-lujfujtonów.

Wydrukowałem małą książeczkę i chciałbym o niej trochę opowiedzieć. Planuję przygotowanie dla uczestników Konferencji wydania specjalnego pod zmienionym tytułem „Myśli o rozwiązywaniu problemów poskładane w 73 pytania”.

W zeszłym roku zaprezentowałem kilka faktów, które doprowadziły mnie do przekonania, że nad dzieleniem wyrazów w języku angielskim wisi klątwa. Zadałem też słuchaczom pracę domową. Nie mogąc podróżować z powodu zbliżającego się powiększenia rodziny, nie będę mógł podać rozwiązań tych ćwiczeń ale w zamian dam uczestnikom dodatkowy rok na pracę nad nimi. Jeśli, co wydaje się mało prawdopodobnym, ktokolwiek pracę domową wykonał, może mi ją przesłać emailem.

TEX jest zarazem systemem składania tekstów, jak też językiem programowania. Jako język programowania operuje na pewnej liczbie typów danych, takich jak liczby całkowite, liczby rzeczywiste, długości (wartości typu dimen), kleje (rozciągliwe i ściśliwe długości) czy wartości logiczne.

W tradycyjnym TEX‑u, którego projekt i realizację autor ukończył w 1982 roku, wyrażanie zależności między wartościami nie jest zbyt wygodne, jest realizowane na innych zasadach w obrębie różnych typów i wyraźnie odbiega od tego, jak takie działania są realizowane w większości współczesnych języków programowania.

Przedstawię zaprogramowany w czystym TEX‑u (w Plain TEX‑u), a więc możliwy do wykorzystania w każdej wersji TEX‑a, moduł pozwalający na tworzenie i obliczanie wartości wyrażeń arytmetycznych sześciu typów. Wyrażenia arytmetyczne mogą być dowolnie złożone z możliwością stosowania wyrażeń składowych, czyli z użyciem nawiasów.

Odpowiedzi uczniów na pytania nauczyciela bywają mocno nieskładne, z powodu braków słownictwa. Krzyżówka, to jeden z najlepszych sposobów, by ich zachęcać do aktywnego przyswajania nowych, fachowych słów. Musi oczywiście być dostosowana do poziomu ucznia – i nauczyciela, któremu brakuje czasu i zdolności, by stworzyć klasyczną krzyżówkę idealnie dopasowaną do danego rozdziału podręcznika.

W swoim wystąpieniu przedstawię zestaw makr ConTEXt-owych, za pomocą których przetwarzam różne rodzaje krzyżówek, dla siebie i kolegów po fachu: pseudo-krzyżówkę, krzyżówkę otwartą, wykreślankę. Na końcu przedstawię zabawę logiczną, którą tworzyłem dla swojej rodziny.

Pismo i jego użycie od czasu rewolucji Johannesa Gutenberga do dzisiaj. Sposób publikowania treści i techniczne aspekty liternictwa drukarskiego. Pismo jako tworzywo informacji i zabawy wizualnej. Działania estetyczne i artystyczne.

Autor – juror konkursu Polskiego Towarzystwa Wydawców Książek „Najpiękniejsze Polskie Książki” – przedstawi kategorie w jakich oceniane są książki w konkursie istniejącym ponad sześćdziesiąt lat. Omówi procedurę wyłaniania najbardziej urodziwych oraz przedstawi kryteria oceny estetycznej i funkcjonalnej, którymi kierują się jurorzy.

Fonty matematyczne OpenType istnieją od już ponad 15. lat. Jakkolwiek niektóre z tych przedsięwzięć fontowych są właściwie zamrożone lub porzucone, to jest jednak jeszcze grupa fontów, które są aktywnie rozwijane. W prezentacji złożymy raport dotyczący postępów w minionym roku.

Tegoroczne warsztaty składają się z trzech części: pierwszą i trzecią poprowadzi Willi Egger, drugą – Barbara Wilińska. Podczas pierwszej sesji uczestnicy przygotują dwie części niewielkiego pudełka typu shoebox, które budowane jest bez konieczności klejenia (ok. 2,5 h). Druga sesja będzie poświęcona ozdobieniu górnej część pudełka inicjałem z filigranem (2–3 h), trzecia sesja będzie obejmowała ostateczne złożenie pudełka (ok. 0,5 h).

Inicjał z filigranem: Przedmiotem środkowej części warsztatów będzie skopiowanie inicjału i ozdobienie go filigranem, wzorując się na włoskim Antyfonarzu z XVI wieku. Filigran to technika złotnicza, polegająca na wykonaniu ornamentu lub całego przedmiotu z cienkiego, złotego lub srebrnego drutu, połączonego niekiedy z granulacją. W efekcie powstaje delikatny, ażurowy wzór. Filigran w iluminatorstwie to koronkowe, ażurowe wzory, zdobiące inicjały lub całe marginesy stron gotyckich manuskryptów. Zajmiemy się więc precyzyjną, koronkową pracą, używając ostrej stalówki. Do wyboru będą inicjały o różnym stopniu trudności, a wszystkie wielkiej urody – i każdy znajdzie propozycję dla siebie.

Proponuję spojrzeć wstecz, co osiągnęliśmy w czasie 32 lat istnienia Stowarzyszenia, a także zastanowić się, jakie mamy oczekiwania na przyszłość. Które z zadań postawionych w latach 90 zeszłego wieku są jeszcze aktualne? Jakie nowe wyzwania zdążyły się pojawić?

Przewidziana jest prezentacja, a po niej czas na dyskusję, do której zachęcam wszystkich, którym nieobojętna jest przyszłość GUST‑u.

(Wystąpienie jest planowane po polsku, dyskusja – w zależności od potrzeb).

Warsztaty

Moja propozycja, to zaproszenie dla wszystkich uczestników konferencji do stworzenia wspólnej fotoopowieści o Bachotku i ludziach, którzy tu przyjeżdżają. Stwórzmy wspólny bachotkowy „portret”, w którym spróbujemy zatrzymać czas i opowiedzieć czym dla nasz wszystkich i każdego z osobna jest Bachotek. Chciałbym zebrać na koniec wszystkie zdjęcia w formie wystawy, a może także docelowo fotoksiążki.

Inspiracją i punktem wyjścia będą historyczne już nagrania rozmów z uczestnikami konferencji zrealizowane w 2017 roku oraz wybrane bachotkowe zdjęcia z różnych lat.

Zajmiemy się teraz podsumowaniem tegorocznych aktywności i – być może – zaplanowaniem dalszej współpracy uczestników.

Po wysłuchaniu wprowadzenia, zajmiemy się bezpośrednio literaturą, lecz niepoważną raczej niż piękną 😉

Uczestnicy zajmą się twórczym posługiwaniem się słowem. Można pisać wierszyki w języku polskim, angielskim czy jakimkolwiek innym, jeżeli autor ten język rozumie.

Będziemy się starali pozbierać wyniki w małą wystawę i/lub – być może – rozpocząć przygotowanie małej książeczki dla potomności

My, GUST, starzejemy się. Jedyną drogą do odwrócenia tej tendencji jest przyciągnięcie młodych ludzi, najlepiej z nowymi pomysłami.

Jedną z możliwości jest spowodowanie, aby TEX był używany w szkołach, co eksponowałoby na niego uczniów (i studentów). Problem w tym, że nauczyciele wiedzą o TEXu niewiele, jeśli cokolwiek, a materię czyni jeszcze trudniejszym brak "poręcznych" i udokumentowanych po polsku wartych użycia narzędzi TEXowych.

Piórko (z ptaka): istnieją obiecujące pakiety (La)TEXowe, głównie po francusku, ale też w innych językach...

Wszystko co trzeba wiedzieć o warsztacie jest w tytule.

W podręcznikach do rysowania krok po kroku uczą, jak rysować baranka na podstawie prostych, geometrycznych kształtów. Metoda ta przypomina styl tworzenia figur, do którego zachęca METAFONT: stosować różne przekształcenia geometryczne (skalowanie, obrót, przesunięcie…) koła czy kwadratu, w dążeniu do celu.

Podczas pierwszej sesji uczestnicy przygotują dwie części niewielkiego pudełka typu shoebox, które budowane jest bez konieczności klejenia (ok. 2,5 h).

Druga sesja będzie poświęcona ozdobieniu górnej część pudełka inicjałem z filigranem (2–3 h).

Trzecia sesja: ostateczne złożenie pudełka (ok. 0,5 h).