Przygotowywanie środowiska pracy LaTeX
Informacje o wpisie.
Opublikowano 15 stycznia 2010 o 14:48:07 w kategoriach: Miniblog, Poradniki, Zerojedynka.
Czy może być lepszy moment do nauki LaTeX-a niż zbliżająca się sesja? Nie może.
Po wyposażeniu się w Nie za krótkie wprowadzenie do systemu LaTeX2ε i rozpoczęciu jego lektury, szybko doszedłem do wniosku że moje środowisko pracy nie jest tak efektywne jak być powinno. Co też postanowiłem zmienić, a efektami podzielić się na blogu — może komuś się przyda.
Na dobry początek sięgnąłem po używany prawdopodobnie przez wszystkich polskich TeXowiczów skrypt porzadki.pl. Po dostosowaniu go do swoich potrzeb przez zakomentowanie części funkcji, doszedłem do wniosku że zdecydowanie nie robi on tego co chciałbym aby robił — mianowicie uporządkowaną treść wypisuje na standardowe wyjście. Przerobiona przeze mnie wersja modyfikuje plik podany jako argument (stare zachowanie — wypisanie zmodyfikowanej treści na STDOUT — można wymusić podając - (minus) jako pierwszy argument, a dopiero po nim nazwę pliku), opcjonalnie tworząc wcześniej kopię zapasową (-b lub --backup). Plik można pobrać z mojej strony domowej.
Jako że moim ulubionym edytorem tekstu jest vim, następnie przystąpiłem do jego usprawniania. Oczywiście można zainstalować vim-LaTeX, ale jest to projekt najprawdopodobniej porzucony, i zdaje się nie do końca działać z vim-em w wersji siódmej zbyt skomplikowany abym potrafił go chociaż uruchomić domyślnie w Debianie nie jest on uruchamiany wraz z vim-em. Dlatego stworzyłem swój, niezwykle prosty, „odpowiednik” (w cudzysłowie, bo oczywiście nie oferuje on nawet 1/100 z funkcji vim-LaTeX) — latexMinisuite.vim. Plik po pobraniu należy wrzucić do katalogu ~/.vim/plugin/. Dodaje on /usr/share/vim/vim72/syntax/tex.wordlist (plik dictionary ze wspomnianego vim-LaTeX) do listy słowników, co pozwala uzupełniać znaczniki TeXowe przez CTRL-X CTRL-K. Trzy dostępne zmienne (domyślnie wszystkie są włączone, można wyłaczyć z poziomu vim-a wpisując let <nazwa zmiennej> = 0) pozwalają na uporządkowywanie pliku po zapisaniu (przy pomocy wcześniej opisanego skryptu), utworzenie kopii zapasowej przed tą czynnością oraz kompilowanie przy pomocy pdflatex. Dodatkowo latexMinisuite.vim może wypełniać każdy nowo utworzony plik *.tex szkieletem dokumentu, ale opcja ta jest domyślnie zakomentowana — osobiście używam tSkeleton. W ten sposób całkowicie zautomatyzowany zostaje proces pisania dokumentów TeXowych — można sobie otworzyć podgląd wynikowego PDF-a gdzieś w tle i o nic więcej nie martwić.
Komentarze
Kolejny użytkownik LaTeX-a - miło to widzieć :] Podejrzewam, że będziesz miał całkiem sporo odwiedzin z wyszukiwarek dot. tego tematu, więc dodam jedynie, że w przypadku Emacsa warto zastosować, co następuje: AUCTeX (m.in. kolorowanie składni), CDLaTeX (dopełnianie składni), Flyspell (z Aspellem/Ispellem i polskim słownikiem do sprawdzania ortografii w locie) oraz Flymake (budowanie .tex w locie).
Nie znam, nie używam, ja nie o tym. :) Ja nawiązując do nauki czegoś "anatemat" sesji:
Zasłyszane dziś w mieście pod bankomatem od studentów:
SESJA to komunikat systemowy.
System Eliminacji Studentów Jest Aktywny. ;)
Zabawne - dopiero usłyszałem o porzadki.pl, a całą magisterkę w LaTeXu napisałem. Teraz to już pewnie mi się nie przyda wiedza o tym skrypcie...
Przy okazji, mniej ortodoksyjnym LaTeXowcom polecam Kile dla KDE. Koloruje składnie, wstawia tabelki i można wyklikać symbole co się przydaje w wypadku znaczków, których bardzo rzadko używamy.
No ale jak to brzmi? W czym to pisałeś? W kile... :D
Zawsze możesz skłamać, że w Vimie - przecież nikt Ci nie będzie zaglądał w logi :D Szacun zdobędziesz, a do tego będzie wygodnie i okienkowo :D
E… kompletnie się nie zgadzam, że vim-latex nie działa. Sprawdzałem chyba z nudów wszystko co jest opisane w dokumetnacji. Jedyne co zmodyfikowałem, to skrót dla „jumperów”:
Uczyniłem to, bo C-j i C-k używam do przełączania między buforami w przypadku podzielonego okna (normalnie jest 'C-w j' i 'C-w k').
A VIM-a posiadam w wersji: 7.2.182.
Z ciekawości sprawdziłem datę ostatniego commita do SVN-a Vim-latexa: „2 weeks”. Nurmalnie pogrzebany i zasypany kilometrem ziemi projekt :D
mruwek: może ja jestem za głupi żeby potrafić go uruchomić. Przy ręcznej próbie:
i tak kilkadziesiąt razy.
A jeśli chodzi o „umarłość” projektu — nie musisz szydzić. Changelog ostatnią zmianę wskazuję na prawie 4 lata temu (25.03 2006). Inna rzecz że prawdopodobnie zbyt pobieżnie spojrzałem do SVN-a.
Minio:
1. Co to za distro? Może po prostu plugin jest źle zainstalowany? Spróbuj rozpakować archiwum ze strony i powrzucać do odpowiednich katalogów w ~/.vim (chyba, że aktualnie masz ten folder pusty, wówczas po prostu rozpakuj zawartość .zip-a do niego).
2. Do tych instrukcji się zastosowałeś: http://vim-latex.sourceforge.net/documentation/latex-suite/recommended-settings.html ?
mruwek: 1. Debian testowy
2. Tak, natknąłem się na ten dokument; shellslash mnie nie dotyczy, grepa nie zmieniałem ale śmiem wątpić żeby odjęło to wszystkie problemy; opcje dotyczące typów plików mam w ~/.vimrc od kiedy tylko używam vima. g:tex_flavor zmodyfikowałem przed napisaniem tego wpisu.
Utworzyłem sobie nowego użytkownika w systemie, wkleiłem to co zalecają do odpowiednich plików, otworzyłem pusty plik .tex i dalej nie ma żadnego śladu aby vim-LaTeX został załadowany. source zwraca to samo.
Po pobraniu pakietu ze strony i umieszczeniu w katalogu ~/vim nowego użytkownika, vim-LaTeX zdaje się działać. Wygląda na to że faktycznie jest to problem z pakietem dystrybucyjnym. Zaktualizowałem go do wersji z sida, ale dalej nic — nie jest ładowany. Sprawdzałem u siebie, na roocie i zupełnie nowym użytkowniku (oczywiście z ~/.vimrc takimi jak zalecają w dokumentacji).
Cóż, z czasów używania Debiana, zanotowałem sobie w pamięci, że ów system jest jednym wielkim „workaroundem” (szczególnie po porównaniu zarządzania skryptami init oraz implementacją „conf-protecta” z Archem, BSD i Gentoo). Może to po prostu kolejny symptom tego stanu rzeczy.
minio: gógiel pokazuje też takie coś: http://ubuntuforums.org/archive/index.php/t-577217.html
mruwek — zmiana runtimepath powoduje że vim-latex jest ładowany razem z każdym nowo otwartym plikiem *.tex :) . Dzięki za informację — będę musiał się pakietowi bliżej przyjrzeć. I zaraz pójdzie bug-report do Debianowego BTS.