Bez kategorii, latex

Podstawowe pojęcia związane z LaTeX

LATEX ma swoje własne pojęcia, jak każda dziedzina wiedzy. Dotyczy to również języków programowania. A LATEX jest językiem programowania dokumentów tekstowych.

Wyjaśnijmy pojęcia:

  • klasa dokumentu (ang. document class) – jaką formę przybiera to, co tworzysz. Przykładowe to book (książka), article (artykuł), report (raport), letter (list), beamer (prezentacja ze slajdami), proc (materiał na konferencję naukową).
  • pakiet (ang. package) – paczka z plikami, które zawierają definicje dodatkowych poleceń i funkcjonalności, jak obsługa języka arabskiego, wstawianie obrazów, rysowanie wzorów strukturalnych związków chemicznych, dodatkowe symbole matematyczne.
  • kompilacja – przetwarzanie kodu źródłowego na plik wynikowy, np. plik PDF.
  • kodowanie fontów (ang. font encoding) – sposób zapisu w pliku z fontem znaków.
  • otoczenie (ang. environment) – wydzielona część kodu między poleceniami \begin{nazwa_otoczenia} i \end{nazwa_otoczenia}.
  • kod źródłowy – plik teksowy zawierający polecenia LATEX i treść. Ma rozszerzenie .tex i zostaje skompilowany do pliku wynikowego.

Myślę, że tyle pojęć wystarczy na początek.

latex

Jeszcze parę słów o LaTeX

We wpisie „Parę słów o LaTeX” zacząłem wspominać o różnych rzeczach, które lubię w LaTeX. Tu będzie kontynuacja, ale skupię się na różnych możliwościach LaTeX.

Przypisy

Przypis (numerowany) dodaje do tekstu polecenie \footnote{•}. Zamiast • wpiszcie treść przypisu, wtedy w tekście będzie numerowany przypis z treścią na dole strony. Będzie też (w zależności od typu dokumentu i dodatkowych ustawień) kreska oddzielająca główną treśc od przypisów.

Różne znaki i języków

Można wstawiać wiele różnych znaków, z różnych pism, języków, symboli (np. kolorów kart) z poleceń (o ile włączysz odpowiednie pakiety). Jeszcze można pisać tekst wielojęzyczny wraz z regułami składania tekstu. Od angielskiego przez polski, niemiecki, francuski po chiński, arabski, gruziński.

Prezentacje

Dzięki pakietowi beamer można tworzyć prezentacje multimedialne ze slajdami i jednocześnie korzystać z dobrodziejstw LATEX.

Równania reakcji, wzory strukturalne

Pakiety (znowu?) mhchem i chemfig pozwalają na wygodny dla piszącego i elegancki w końcowym rezultacie zapis reakcji chemicznych oraz wzory strukturalne związków chemicznych.

Oczywiście to nie są wszystkie rzeczy, które można zrobić z LATEX. Następne rzeczy będę omawiać w różnych wpisach. Najpierw o podstawowych pojęciach.

latex

Parę słów o LaTeX

LATEX jest systemem składu komputerowego opracowanym jako rozszerzenie TEX opracowanym przez Leslie Lamporta[zaczerpnięte z Wikipedii].

Pozwala na tworzenie dokumentów o stałej strukturze. Najczęściej używany do składu książek, publikacji naukowych, prac dyplomowych. Można też w nim robić prezentacje multimedialne.

Jeśli chodzi o publikacje naukowe, szanujący się wydawca lub organizator konferencji udostępnia szablon LaTeX dla każdego nadsyłanego artykułu.

Teraz napiszę, co z mojego punktu widzenia wydaje się łatwiejsze niż w edytorach tekstu jak Microsoft Word czy LibreOffice Writer.

Wzory matematyczne

Zamiast klikania symboli w edytorze równań lub wklejania grafik, wpisujesz odpowiednie polecenia do zapisywania wzorów. Od bardzo prostych jak a + b = c po ułamki piętrowe, wielokrotne sumy, produkty, całki, macierze, układy równań, operacje na zbiorach.

Bibliografia

Z wykorzystaniem ręcznie wypisanej bibliografii lub BibTEX, jak raz określisz wykorzystywane źródła, potem możesz się odwołać do nich w tekście. W zależności od ustawień, masz automatycznie ustawiane numery pozycji, autorów i rok publikacji, etykiety. W przypadku BibTEX, można jeszcze ustawić kolejność pojawiania się pozycji bibliograficznych, które z punktu widzenia systemu mają określoną strukturę. Jeżeli znacie Google Scholar, Elsevier, ScienceDirect, NCBI, IEEExplore, znajdziecie tam możliwość pobrania gotowego wpisu bibliografii w  BibTEX.

Numerowanie sekcji, tabel, ilustracji…

Tworząc sekcję, system sam zadba o właściwy numer (chyba że chcesz wymusić inny). Tak samo z numerami tabel, ilustracji, wzorów matematycznych, listingów kodu źródłowego.

Chcecie dowiedzieć się więcej o tym, co Was może przekonać do LaTeX? Czekajcie na następne wpisy.

Programowanie

XSAMPA2IPA – wprowadzenie w temat

X-SAMPA i IPA (International Phonetic Alphabet) są zapisami fonetycznymi języków. O szczegółach można poczytać w Wikipedii, więc tutaj nie będę wszystkiego omawiać.

Pewnie spotkaliście się z czymś takim w słownikach języków obcych, np. polsko-angielskim lub polsko-niemieckim. Dzięki takiemu alfabetowi można jednoznacznie zapisać wymowę słów.

Program, który opracowuję (a raczej odkopuję z czeluści mojego dysku twardego) i odświeżam, będzie służyć do zamiany X-SAMPA na IPA. X-SAMPA też jest fonetycznym zapisem wymowy, ale używa wyłącznie znaków z tablicy ASCII (litery alfabetu łacińskiego, liczby, podstawowe znaki).

Zamiana będzie w locie – podczas pisania. Otrzymany tekst będzie można skopiować.

W następnych wpisach będzie o realizacji.

Programming, Programowanie

Wracamy do starych projektów – wybór projektów

Mój konkursowy projekt na Daj Się Poznać 2017 był odkopany z czeluści mojej pamięci masowej. Teraz przeanalizuję parę projektów, które napisałem jeszcze na pierwszym roku studiów (rok 2012). Weźmy na tapetę te, których kod udostępniłem wszystkim.

Projekt nr 1

XSAMPA2IPA – narzędzie, które może się przydać piszącym zapisy fonetyczne języków. X-SAMPA wykorzystuje tylko znaki ASCII, a IPA to dodatkowe znaki, które można skopiować z tablic znaków lub symboli specjalnych. Technologie: GTK3, C++.

Projekt nr 2

Czasomierz napisany z użyciem Qt4.

Projekt nr 3

Prosta aplikacja do rozwiązywania układów równań liniowych. Technologie: C++, Qt4, biblioteka Armadilo.

Czy wspomnę więcej? Przekonamy się wkrótce.

 

Daj Się Poznać 2017, Python, TaskList

Co będzie z konkursowym projektem?

Konkurs Daj Się Poznać 2017 minął, Gala Finałowa zakończyła się, teraz czas na to, co można jeszcze z konkursowym projektem zrobić. Niektórzy finaliści z edycji 2016 wykruszyli się, niektórzy rozwinęli projekty.

Teraz wymienię rzeczy do wprowadzenia na przyszłość:

  • Testy jednostkowe dla logiki aplikacji wraz z jej weryfikacją;
  • Oddzielenie front-end od back-end przez 2 osobne serwery;
  • Front-end w Angular 4+
  • Back-end w Python 3+ wystawiający RESTowe web serwisy;
  • Testy integracyjne;
  • Testy interfejsu użytkownika.

Co się uda zaimplementować? To wyjdzie w praniu. Na razie nie narzucam sobie terminu.

Daj Się Poznać 2017, Podsumowanie, Specjalne

Refleksje po konkursie Daj Się Poznać 2017

Etap konkursowy już minął. Zostałem finalistą Daj Się Poznać 2017. Zdarzało się

Na ścisłego finalistę głosów miałem za mało, ale nie przejmuję się tym. Najważniejsze, że udało się wytrwać do końca. Może w następnej edycji się uda dojść do tego etapu ;).

Parę śledzonych przeze mnie blogów nie mogło zakwalifikować się do finału, chociaż mieli ciekawe pomysły. Dwa, które najbardziej zapamiętałem to JAVOVANIE (https://javovanie.wordpress.com/) i blog Justyny Wojtczak. Ten pierwszy to był projekt gry na platformę Android. Drugi – stroik do skrzypiec na watchOS pisany w Swift 3.

Teraz moje zdanie o konkursie.

Bardzo mi się podoba formuła konkursu i założenie, że najważniejsza jest wytrwałość. Rok temu śledziłem rozwój konkursu, ale nie miałem odwagi w nim wystartować. Bałem się, że nie dam rady łączyć pracy zawodowej, końcówki studiów i pisania pracy magisterskiej, z którą miałem trochę przygód. Ale postanowiłem, że w następnej edycji wystartuję. Jak tylko się dowiedziałem, że rusza rejestracja, zastanawiałem się nad wyborem projektu do opracowania przez ten czas i wziąłem na tapetę projekt zaliczeniowy ze studiów.

Dlaczego ten projekt? Żeby na własnej skórze przekonać się, co to znaczy pracować ze swoim starym kodem. Sprawdzić, czego wtedy nie uwzględniłem. Zastanowić się, jak można ulepszyć stary projekt.

Mimo wszystko gratulacje wszystkim, którzy wytrwali do końca! I tym, którym się nie udało, ale założyli bloga. Teraz odliczam czas do Gali Finałowej w Warszawie po zwariowanym poprzednim tygodniu.