Showing posts with label TeX/LaTeX. Show all posts
Showing posts with label TeX/LaTeX. Show all posts

05/12/2016

You will love it

Home


A screenshot comes from ShareLaTeX web site

Sometime ago I wrote that I was amazed when I found out that Nuget supports C++. Today, I was amazed even more, when I discovered ShareLaTeX web site. This site is simply great and I don't know how I've been living without it for such a long time.

08/12/2014

Wykrywanie nieużywanych elementów bibliografii

Home

Moim zdaniem LaTeX ma wspaniałą obsługę cytowań i bibliografii. Jest to jeden z powodów, dla którego tak lubię go używać np.: bardzo łatwo znaleźć cytowania w formacie rozumianym przez LaTeX'a, nie musimy martwić się o formatowanie, odpowiednie posortowanie czy numerowanie.

Domyślnie jest dodamy jakąś pozycję do bazy danych odnośników literaturowych, a jej nie zacytujemy to w finalnym dokumencie wygenerowanym przez LaTeX'a (np.: PDF) zostanie ona pominięta. Może to być zachowanie pożądane lub nie. Jeśli nie jest z pomocą przychodzi komenda \nocite, w szczególności jej forma \nocite{*}, która powoduje, że cokolwiek dodamy do spisu odnośników to znajdzie się to w finalnym dokumencie w sekcji z bibliografią. W pewnym momencie możemy jednak chcieć uporządkować bazę odnośników i sprawdzić co używamy, a czego nie. Przy dużym dokumencie, z dziesiątkami lub setkami cytowań nie jest to sprawa oczywista.

W takiej sytuacji z pomocą przychodzi, odkryty przeze mnie ostatnio, pakiet refcheck. Po jego włączeniu dla każdego nieużywanego elementu bibliografii, ale także dla każdej nieużywanej etykiety zostanie wygenerowane ostrzeżenie. Dodatkowo nieużywane elementy zostaną oznaczone w wygenerowanym dokumencie przy pomocy etykiet na marginesie dokumentu.

Kolejny raz okazuje się, że czegokolwiek bym sobie nie zamarzył to istnieje już pakiet, który to zapewnia :)

05/12/2014

Latex i drzewa

Home

Wczoraj już późno w nocy zamarzyło mi się umieścić w dokumencie tworzonym w LaTeX'u rysunki drzew binarnych. Początkowo myślałem o narysowaniu ich w jakimś programie graficznym, a następnie wyeksportowaniu do jpg z czym LaTeX już sobie poradzi. Potem pomyślałem jednak, że to nie ma sensu bo z pewnością już ktoś miał taki problem i stworzył odpowiedni pakiet gotowy do użycia. Nie pomyliłem się. Bardzo szybko znalazłem pakiet qtree i już 5 minut później miałem w swoim artykule piękne drzewka. Przykład użycia:.
\Tree[.{L0 - Root} 
 [.{L1 - Left child} 
  [.{L2 - Left child} ] 
  [.{L2 - Right child} ]]
 [.{L1 - Right child} ]]
Efekt końcowy wygląda natomiast następująco:



LaTeX z pewnością jest trudniejszy w użyciu niż taki Word, ale jak już się go poznasz to zrobisz wszystko. Społeczność około LaTeX'owa stworzyła tyle różnych pakietów, że nie pozostaje nic innego jak brać i korzystać.

16/07/2014

LaTeX + PDF + obrazki

Home

Korzystając z LaTeX'a dokumenty PDF można tworzyć na przynajmniej dwa sposoby. Te znane mi to:
  • Pliki źródłowe *.tex -> dokument w formacie DVI -> PDF
  • Pliki źródłowe *.tex -> PDF
W pierwszym przypadku używamy dwóch programów tj. latex.exe oraz dvipdfm.exe, a w drugim tylko jednego tj. pdflatex.exe. Do tej pory stosowałem pierwsze podejście, ale w pewnym momencie chciałem skorzystać z szablonu, który był dostosowany do drugiego podejścia. I tu zaczęły się problemy, na których straciłem dużo czasu, a więc piszę ten post ku pamięci. Problemy te dotyczyły osadzania obrazków w dokumencie PDF.

Pierwszy problem polegał na tym, że kompilator krzyczał, że nie rozpoznaje rozszerzenia PS. To udało mi się przewalczyć w miarę szybko zmieniając rozszerzenia na EPS. Dziwne, ale zadziałało. Jakie było jednak moje zdziwienie kiedy po otworzeniu wygenerowanego dokumentu PDF nie znalazłem w nim żadnych obrazków, a dokładniej w miejscach przeznaczonych na obrazki widniały białe obszary o rozmiarze obrazków! Rozwiązanie okazało się jest dziwniejsze niż wcześniej. Otóż, wystarczyło z nazwy obrazka usunąć rozszerzenie czyli zamiast obrazek.eps wpisać obrazek.

Na tym nie koniec. Po jakimś czasie udało mi się doprowadzić do sytuacji kiedy obrazki były widoczne w dokumencie PDF zarówno kiedy nazwa zawierała rozszerzenie jak i bez niego. Otóż w celu umieszczenia w dokumencie obrazka w formacie JPG najpierw konwertuję go do formatu PS przy pomocy programu jpeg2ps.exe. Nie pamiętam już dlaczego, ale jpeg2ps.exe używałem z przełącznikiem -b. Nie wnikając w szczegóły do czego służy, po jego usunięciu problem ustąpił.

Mam nadzieję, że te krótkie wskazówki oszczędzą komuś czasu. Cały czas uważam, że LaTeX jest wspaniałym narzędziem, ale czasami potrafi doprowadzić do szewskiej pasji.

16/10/2013

MiKTeX i menadżer pakietów

Home

Częścią MiKTeX'a (implementacja TeX/LaTeX dla Windows'a) jest Menadżer pakietów, który pozwala znaleźć i zainstalować potrzebne nam pakiety, a są ich setki. Co więcej menadżer ten odpala się automatycznie w czasie komplikacji, w momencie kiedy kompilator znajdzie brakujący pakiety, a więc nawet nie musimy dokładnie wiedzieć czego nam brakuje.

Domyślne ustawienia tego narzędzia mogą jednak sprawić kłopoty. Otóż, jeśli tego nie zmienimy, wybrane pakiety będą ściągane z losowo wybranej lokalizacji. Co w tym złego? Otóż, ustawienie to powoduje, że Menadżer pakietów ordynarnie przestaje działać bez żadnego komunikatu o błędzie. Na systemie Windows 7 zachowanie to zaobserwowałem tylko przy automatycznym ściąganiu pakietów. W Windows 8.1 Menadżer pakietów w ogóle nie chciał mi działać.

Nie wiem od czego to dokładnie zależy, ale rozwiązanie jest w każdym razie proste, wystarczy wskazać konkretną lokalizację zamiast losowej. W Menu Start wybieramy MiKTeX X.Y\Maintenance\Settings, następnie zakładkę Packages, klikamy przycisk Change, zaznaczamy opcję Packages should be installed from the Internet i na koniec wybieramy konkretną lokalizację i zatwierdzamy.

28/09/2013

Szybkie tworzenie tabel w TeX/LaTeX

Home

TeX/LaTeX jest potężnym środowiskiem pracy ale ma to swoją cenę. Między innymi niektóre rzeczy robi się w dużo trudniejszy sposób niż w programach takich jak Word czy Excel. Dobrym przykładem jest tworzenie tabel. W TeX/LaTeX trzeba się napracować i wpisać odpowiednią sekwencję poleceń formatujących. Przy małych tabelach można jeszcze zagryźć zęby, ale przy dużych wielokolumnowych zbiorach danych szkoda nerwów. Ja akurat potrzebował przenieść kilka tabel z dokumentu Word do swojego artykułu.

Najpierw skopiowałem, więc tabele z Word'a do Excel'a, a potem skorzystałem z dodatku do Excel'a o nazwie Excel2LaTeX, który dodaje w zakładce Dodatki dwa polecenia: Convert table to LaTex oraz Convert all stored tables to LaTex. Wystarczy zaznaczyć interesujący nas zestaw komórek, wybrać polecenie, a potem wkleić wygenerowaną tabelę do dokumentu *.tex. Ja jeszcze dodatkowo musiałem zaimportować brakujący pakiet tj.: \usepackage{booktabs}.

Polecam też ten artykuł, w którym autor zebrał kilka sposób te wyeksportowanie tabel z programu Excel to TeX/LaTeX.

16/09/2013

Gdzie znaleźć cytowania w formacie BibTeX

Home

BibTeX to narzędzie do tworzenia bibliografii używane przez LaTeX'a. Wpis w bibliografii w formacie wymaganym przez BibTeX'a wygląda na przykład tak:
@inproceedings{komorowski2010configuration,
  title={Configuration management of mobile agents based on SNMP},
  author={Komorowski, Micha{\l}},
  booktitle={Rough Sets and Current Trends in Computing},
  pages={456--465},
  year={2010},
  organization={Springer}
}
Przykład zawiera tylko część z możliwych atrybutów i może być dużo bardziej rozbudowany. Kiedy piszę artykuł nie mam ochoty samemu tworzyć takich wpisów, ale niestety nie zawsze razem z artykułem znajdziemy przygotowany wcześniej wpis dla BibTeX'a. W takim wypadku polecam skorzystać ze strony ACM Digital Library lub Google Scholar.

W pierszym portalu po znalezieniu artykuły u góry, z prawej strony zobaczymy pole Tools and Resources, a w nim link BibTeX. Po jego kliknięciu otrzymamy sformatowane cytowanie. W przypadku Google Scholar po znalezieniu publikacji klikamy link Cytuj, a następnie Zaimportuj do programu BibTeX. Z mojego doświadczenia wynika, że cytowania wygenerowane przez oba programy są sobie równoważne, te wygenerowane przez ACM Digital Library są trochę obszerniejsze ale przeważnie i tak nie używamy wszystkich możliwych atrybutów.

14/09/2013

LEd i nowa wersja MiKTeX

Home

Z MiKTeX'a czyli implementacji systemu składu tekstu TeX/LaTeX dla Windows'a oraz programu LEd wspomagającego pracę z TeX/LaTeX'em korzystam już od bardzo dawna. Ponieważ należą do osób, które nie wyczekują wszelkiego rodzaju aktualizacji z drżącym sercem i instaluję je dopiero kiedy jest mi to rzeczywiście potrzebne to do tej pory zadowalałem się wersją MiKTeX 2.5 i pewnie pracowałbym z nią jeszcze długo, gdyby nie okazało się, że nie jest już wspierana i nie mogą ściągnąć potrzebnych mi pakietów.

Pobrałem więc najnowszą wersję 2.9, zainstalowałem, zmieniłem ścieżkę w zmiennych środowiskowych, a także dostosowałem ustawienia LEd'a wskazując katalog z nową wersją Configuration->Options->Application->DVI Viewer->TeX Executables. Następnie uruchomiłem kompilację projektu i LEd bez ostrzeżenia wywalił się. Spróbowałem otworzyć projekt jeszcze raz ale tym razem nawet to było niemożliwe. Usunąłem, więc wszelkie stworzone pliki tymczasowe i spróbowałem jeszcze raz otworzyć projekt. Tym razem udało się ale tak czy inaczej kompilacja znowu się nie powiodła. Kilka kolejnych prób zakończyło się tak samo. W logu systemowym nie znalazłem żadnych błędów.

Zacząłem więc dokładnie przyglądać się konfiguracji LEd'a i okazało się, że przeoczyłem jedną opcję Configuration->Options->Application->DVI Viewer->TeX distribution. Ustawiona była na MiKTex2.5 co wydało mi się podejrzane. Na liście nie widziałem jednak opcji MiKTeX2.9 ale za to znalazłem opcję based on MiKTeX. Spróbowałem i zadziałało.

Mam nadzieję, że to oszczędzi komuś czasu i nerwów.