Życie studenta jest relatywnie proste, do momentu, kiedy zbliżają się różnego rodzaju egzaminy. Jakkolwiek sesja jest jednym z najmniej przyjemnych elementów roku akademickiego, jest jeszcze jedna zmora – pisanie pracy dyplomowej. Wielu używa do tego Worda, nie będąc świadomymi istnienia o wiele lepszego narzędzia – LaTeXa. Nawet pod Windowsem korzystanie z tego narzędzia jest całkiem przyjemne. W dzisiejszym wpisie chciałbym omówić jeden z problemów, jaki pojawia się zaraz po instalacji całego środowiska.
Fotografia: aubergene, CC-BY.
LaTeX: Błąd „GUI framework cannot be initialized”.
Chcąc korzystać z LaTeXa pod Windowsem musimy zaopatrzyć się w dwie rzeczy:
- środowisko LaTeX,
- edytor kodu / IDE.
Ze względu na to, że już raz miałem okazję zmierzyć się z pisaniem pracy dyplomowej przy okazji tworzenia pracy inżynierskiej polecam następujący zestaw:
- pakiet MiKTeX (wersja LaTeXa dla Windowsa – tutaj nie mamy zbyt wielkiego wyboru ;]),
- edytor TeXnicCenter (jest wiele innych, ale ten przypadł mi do gustu).
Sam proces instalacji obu elementów pominę, zresztą – skoro trafiliście tutaj szukając rozwiązania, to na pewno macie już to za sobą. ;]
W czym problem? Otóż podczas zwyczajowej kompilacji dokumentu z wykorzystaniem klawisza [F7] pojawia się tytułowy błąd: „LaTeX: GUI framework cannot be initialized”. Nie jest on zbyt czytelny, dlatego warto wyjaśnić, dlaczego występuje.
Podczas instalacji całego zestawu instalowane są tylko najbardziej podstawowe pakiety, a każdy użytkownik LaTeXa wie, że bardzo często używa się ich w o wiele większej liczbie. MiKTeX w domyślnych ustawieniach ma zapisaną wartość, przez którą zawsze „pyta” użytkownika, czy może zainstalować dany kawałek oprogramowania. Ze względu na to, że kompilacja odbywa się w środowisku konsolowym, nie jest w stanie wyświetlić komunikatu i zapytać użytkownika o zdanie, dlatego wyświetla błąd. Wiemy już teraz, dlaczego tak się dzieje, przejdźmy więc do rozwiązania.
Na szczęście nie jest ono trudne – najpierw należy zlokalizować narzędzie konfiguracji MiKTeXa, które znajduje się w Menu Start [dla leniwych ;]], lub w drzewie %MIKTEX%/miktex/bin/mo.exe, gdzie za makro %MIKTEX% przyjmuję oczywiście ścieżkę do instalacji pakietu. Po uruchomieniu tego narzędzia klikamy na zakładkę „General” – pokaże się następujące okno:
W ostatniej grupie opcji, czyli „Package installation” należy zmienić widoczną na obrazku wartość „Ask me first” na „Yes”. Pozwoli to MiKTeXowi na instalację brakujących pakietów bez naszej zgody, której i tak nie mielibyśmy okazji udzielić, ze względu na błąd związany z wyświetlaniem odpowiedniego komunikatu.
Mam nadzieję, że tego typu problemy nie zniechęcą Was do korzystania z genialnego narzędzia, jakim jest LaTeX i jego pochodne. ;]
Warto przeczytać.
Trwa ładowanie…

Z tego co rozumiem, to jest problem samego IDE, a nie LaTeXa – może warto zmienić tag w tytule wpisu?
Dodam jeszcze, że początkowo używałem LyXa (http://www.lyx.org/), którego bardzo polecam KAŻDEMU, kto pisze pracę dyplomową (nie wymaga znajomości LaTeXa). Szybko z niego zrezygnowałem, bo zbytnio mnie ograniczał ;) i ostatecznie przeszedłem do zwykłego Notepad++ połączonego z prostym skryptem konsolowym wykonującym kompilację. W końcu – i tak dokument kompiluje się tylko raz na jakiś (raczej długi) czas :)
To jest błąd występujący w IDE [konkretnie pokazuje się on w podglądzie poleceń wykonywanych przez program], ale wyrzucany przez LaTeXa, dlatego wpis też tak został oznaczony. Sam TeXnicCenter nie ma tu nic do rzeczy, chyba, że inne programy potrafią wykryć to pytanie o zgodę i wyświetlić okno wyboru, co wydaje mi się jednak mało prawdopodobne. LaTeX w konsoli zapewne wyświetla sam coś w stylu „Are you sure [Y/n]„, dlatego trzeba by interaktywnej konsoli w IDE, a nie tylko podglądu.
LaTeX: Błąd „GUI framework cannot be initialized”.
@Bushee, to tak jak ja :) Choć ja zacząłem od LEda, którego uznałem za nieznacznie lepszego od Twojej propozycji, ale suma sumarum też skończyłem na Notepad++, a później na Sublime Text 2.
@Tomuś, jestem rozczarowany, że Ty cały czas korzystasz z IDE do LaTeXa. Kto jak kto, ale Ty?! ;p
Centralne repozytorium Mercuriala, a Windows Server
@Peter_lin: Wiesz, jak się siedzi pod Windowsem to skutecznie odchodzi wszelka chęć do kombinowania z konsolą (oczywiście poza tym, co da się wygodnie odpalić w Cygwinie). A TeXnicCenter nie jest taki zły – koloruje składnię i kompiluje dokument – więcej nie potrzebuję. ;]
LaTeX: Błąd „GUI framework cannot be initialized”.
Polski LEd umarł i nie jest rozwijany od 2009r. A szkoda, bo to był fajny edytor, którego kiedyś z przyjemnością używałem. Teraz korzystam z Texmakera. Dostępny jest na Win, Linuxa i Maca, a do tego nie wymaga instalacji (portable/zip)! Ponadto dostępne są kody źródłowe, więc jak komuś coś nie pasi, to może sobie coś zmienić, albo dodać jakąś funkcjonalność. :)
PS Tomek, dwa szybkie pytanka:
1. W jakiej klasie piszesz magisterkę?
2. Używasz kodowania UTF-8?
@Scottie: Mój kolega używał rok temu do pisania inżynierki LEda i bardzo sobie go chwalił. Może nie jest aż tak źle?
Co do pytań – u nas na wydziale został przygotowany szablon pracy, który można sobie wykorzystać, także nie powiem Ci teraz, jaka to klasa dokumentu, bo nie mam niestety przy sobie kodu. Jeśli chodzi o kodowanie, to z tego, co pamiętam chyba poległem na ustawieniu kodowania i musiałem zostać przy jakimś Windows / Latin, ale to też musiałbym sprawdzić w kodzie. Do magisterki jeszcze prawie rok, a na pewno będą się pojawiały wpisy z nią związane, także nie martw się – sprawdzę. Jakbyś miał jakieś konkretne problemy – pisz, postaram się pomóc. ;]
php.internals: Migracja kodu PHP z SVN do Gita.
@TK:
> Może nie jest aż tak źle?
Nie jest źle, pod warunkiem, że korzystasz z MiKTeXa w wersji Jakbyś miał jakieś konkretne problemy – pisz, postaram się pomóc. ;]
Hmmm… Gdybyś mógł, to poproszę o dll-kę „dvi_miktex29.dll”, aby LEd poprawnie wyświetlał DVI w MiTeXie 2.9. ;-)
@TK:
> Może nie jest aż tak źle?
Nie jest źle, pod warunkiem, że korzystasz z MiKTeXa w wersji równej/niższej niż 2.8. LEd nie jest rozwijany/aktualizowany od 2009 r. a świat (MiKTeX, LaTeX, TeX) idzie do przodu. I w tym jest właśnie problem.
> Jakbyś miał jakieś konkretne problemy – pisz, postaram się pomóc. ;]
Hmmm… Gdybyś mógł, to poproszę o dll-kę „dvi_miktex29.dll”, aby LEd poprawnie wyświetlał DVI w MiTeXie 2.9. ;-)
@Scottie: Znalazłem taki dokument: http://www.texlips.net/download/dviwin29.pdf , może coś pomoże.
Co do DLL’ki – nie mam pliku o tej nazwie, ale znalazłem podobny: „MiKTeX209-dvi.dll”, przy czym w katalogu /miktex/bin znajdują się cztery podobne pliki, dlatego masz link do archiwum z wszystkimi: http://www.mediafire.com/?glbkraur7abrjwk . Mam nadzieję, że pomoże. ;]
php.internals: Migracja kodu PHP z SVN do Gita.
W TeXLive masz TeXworks – sympatyczne środowisko, do pracy dyplomowej wystarczy.