joanna.ludmila@googlemail.com :
Już prawie dwa lata minęło odkąd kupiłam mojego PowerBooka i przesiadłam się na Mac OS X-a. Przez cały ten czas wypróbowałam co najmniej kilka, jak nie kilkanaście różnych edytorów, głównie w celu LaTeXowania. Żaden nie spełnił moich oczekiwań. Może jestem wybredna, albo za długo pracowałam z innymi edytorami, żeby łatwo się przesiąść.
No i wygląda na to, że znalazłam edytor dla siebie. Nazywa się TextMate. Obsługuje w tej chwili bardzo wiele różnych języków programowania i samych programów (np. nieoceniona współpraca z Subversion!), a każdy może dowolnie rozszerzyć jego funkcjonalność pisząc krótkie programy w dowolnym języku skryptowym (shell-script, Perl, Python...).
Ponieważ godzina jest późna, a ja od początku tygodnia (=semestru) wstaję codziennie o 7 rano (ostatnie 3 miesiące to raczej była 9-10), nie mam siły teraz opisywać wielu możliwości i szczegółach, w których tkwi diabeł (!). Ogólnie pochwalić mogę tylko niemal dowolną dopasowywalność do własnych potrzeb i przyzwyczajeń i baardzo wiele możliwości pomocy przy pisaniu kodu (code folding, uzupełnianie kodu, TODOs, sprawdzanie pisowni z ominięciem poleceń itp. itd.). To, co dla mnie jest osobiście ważne, to ogromne wsparcie dla LaTeX-a (w tym synchronizacja z PDF-em oraz wyświetlanie błędów w dodatkowym oknie, kolorowanie składni pliku log i jego automatyczne odświeżanie). Wiele można dowiedzieć się ze screencastów, które dostępne są na stronie TextMate (link patrz wyżej).
Ja od kilku miesięcy używałam wersji Trial, odinstalowując ją i instalując od nowa, ponieważ nie było łatwo od razu zdecydować się na wydanie prawie 50€ (39€+podatek, o którym dowiedziałam się dopiero przy potwierdzaniu transakcji), żeby kupić licencję. Ale po tych kilku miesiącach niezbyt intensywnego użytkowania (bo akurat nie było okazji, a ja też nie miałam czasu, żeby się wgłębiać w możliwości tego edytora) podjęłam ostateczną decyzję i dziś właśnie dostałam już moją licencję.
TextMate określiłabym trochę jako takiego bardzo ładnego i bardziej przyjaznego w użyciu Emacsa, Można w nim prawie wszystko, a na pewno wszystko można zaprogramować (choć nie wiem, czy zrobienie jajecznicy nie wymagało by patelni na USB), do wszystkiego są lub mogą zostać przypisane skróty... no po prostu bosko.
Uprzedzając pytania: TextMate jest i będzie dostępny wyłącznie na Maca. Autor pisze na blogu, że nie zamierza portować edytora na Windowsa, choć mógłby zarobić na tym wielką kasę, bo dla niego znacznie ważniejszy jest fun przy pracy, a Windows is not fun. Przy czym Autor TextMate zamierza wprowadzić akcję (którą już rozpoczął, ale zawiesił z przyczyn technicznych): przesiądź się na Maca, a TextMate dostaniesz gratis.
Jeśli zaintrygował lub zainteresował Was TextMate, warto obejrzeć stronę jemu poświęconą, jest tam Manual, Wiki oraz kilka Screencastów (pliki mov, czyli QuickTime), które robią naprawdę ogromne wrażenie.
Właśnie odkryłam, że mój ulubiony program do przeglądania PDF-ów na Macu od stycznia nie jest już rozwijany. Na początku jak go zainstalowałam, aktualizacje pojawiały się niemal codziennie, potem trochę rzadziej. Nie zwróciłam na to jakoś specjalnej uwagi. Dopiero teraz chciałam zajrzeć na chwilę do pomocy programu, żeby się dowiedzieć, jaka jest różnica między trybem Full screen a Presentation i okazało się, że pomocy brak, a jest tylko strona internetowa. No i na tej stronie właśnie dojrzałam informację:
PDFView is no longer in development. Thanks to all the people who supported it, but I have no time any more. You may wanna try Skim as a replacement/improvement.
Ponieważ wspomniany Skim podobno dobrze się rozumie z LaTeX-em (czytaj: funkcja PDFSync), włączyłam ściąganie i zaraz go będę instalować. Zobaczymy, co to warte.
A PDFView szkoda, bo był naprawdę na dobrej drodze, żeby stać się mocną alternatywą dla applowego Preview. Niestety za wcześnie autor zawiesił rozwój programu, żeby można było mówić o 100% niezawodnym i wygodnym narzędziu.
Mam pewien pomysł na usprawnienie pracy z LaTeX-em na moim Maku, niestety nie do końca potrafię go zrealizować! Może ktoś z Was będzie miał jakieś rozwiązanie. Jak znajdę więcej czasu to może i sama coś znajdę, ale teraz właściwie powinnam pisać pracę domową ;)
Wygląda to tak, że można w TeXShopie ustawić używanie zewnętrznego edytora. Czyli kompilację wykonuje się w TeXShopie, wyświetlanie pdf-a również, a sama edycja w jakimś innym programie, np. Smultronie (mój obecnie ulubiony edytor, niestety najnowsza wersja 3.0 nie nadaje się do użytku z powodu ogromnej ilości bugów[*]). Edytor dostarczany z TeXShopem jest raczej marny.
Niestety wymaga to dużej ilości kliknięć, żeby zachować plik w Smultronie, przełączyć okno do TeXShopa i uruchomić kompilowanie.
Z tego, co mi wiadomo, TeXShop zawiera jakieś przygotowane AppleSkrypty, ale nie wiem, jak się do nich dobrać.
Myślałam też, żeby wykorzystać tzw. Folder Actions, niestety nie ma dla nich opcji wykonania skryptu, gdy np. pewien określony plik zmieni się (np. będzie miał nową datę), a tylko przy dodawaniu, usuwaniu plików.
Idealnym rozwiązaniem byłoby: <jabłko> + S w Moim Ulubionym Edytorze wywoływałoby odpowiedni skrypt, np. latex/bibtex/latex/latex, po czym okienko podglądu by się odświeżało, na tej stronie, która była ostatnio otwarta. W przypadku błędu otwierałaby się również konsola z outputem
Jestem pewna, że to rozwiązanie jest możliwe i jestem pewna, że jest nawet więcej dróg, żeby je osiągnąć (np. kompilować można z TeXShopa albo wywołując polecenie shellowe
Następnym punktem do rozważenia jest, jak to zrobić, żeby działał pdfsync. Nigdy nie używałam tego narzędzia wcześniej, ale skoro istnieje, czemu by nie! Czasem może być przydatne. Służy do przełączanie między źródłem a podglądem, przy czym przeskakuje się zawsze do miejsca, które wskaże kursor. Podobno jest jakiś problem tutaj z TeXShopem/zewnętrznym edytorem.
Oczywiście musiałaby istnieć możliwość dopasowania, czy ma to być [pdf|xe|]latex.
[*] np. numery linii pojawiły mi się od końca do początku i... w lustrzanym odbiciu!
Obecny stan wiedzy:
z TextWranglerem się da tak:
tell application "TextWrangler"
set fileName to (file of text window 1) as text
end tell
set unixname to POSIX path of fileName
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "/"
-- pull the path out as a string and strip off the filename
set pathText to unixname
set pathList to (text items of pathText)
set docName to last item of pathList
set AppleScript's text item delimiters to oldDelimiters
tell application "TextWrangler"
save text document docName
end tell
tell application "TeXShop"
activate
open fileName
end tell
tell document docName of application "TeXShop"
activate
typesetinteractive
end tell
Skrypt powoduje, że w TeXShopie otwiera się aktualnie edytowany w TextWranglerze plik, kompiluje się i odświeża/otwiera podgląd. Tylko niech mi ktoś jeszcze powie, jak ten skrypt wywołać przy zapisywaniu pliku to już będę szczęśliwa. Niech będzie i TextWrangler, choć może zadziała i z Smultronem. Aha, skrypt oryginalnie odnosił się do BBEdita, którego nie posiadam, ale to są dwie wersje tego samego edytora, jeśli się nie mylę (jedna platna druga nie), więc nie ma problemu.
Znalazłam ciekawą funkcję w TextWranglerze: dowiązanie skryptu do dowolnego elementu Menu. Działa to tak, że skrypt musi być nazwany jak element menu, np. File•Save (• rozdziela poziomy) i zapisany w katalogu ~/Library/Application Support/TextWrangler/Menu Scripts. Można wykonać skrypt przed i/lub po wykonaniu funkcji z Menu.
Mój skrypt wygląda następująco:
on menuselect(menuName, itemName)
return false
end menuselect
on postmenuselect(menuName, itemName)
tell application "TextWrangler"
set fileName to (file of text window 1) as text
end tell
set unixname to POSIX path of fileName
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "/"
-- pull the path out as a string and strip off the filename
set pathText to unixname
set pathList to (text items of pathText)
set docName to last item of pathList
set AppleScript's text item delimiters to oldDelimiters
tell application "TextWrangler"
save text document docName
end tell
tell application "TeXShop"
activate
open fileName
end tell
tell document docName of application "TeXShop"
activate
typesetinteractive
end tell
end postmenuselect
i działa dokładnie tak, jak sobie wymarzyłam: po zapisaniu pliku włącza się odpowiedni engine techowy i otwiera się/odświeża się podgląd w TeXShopie. Proste i genialne!
Wygląda na to, że na razie rezygnuję z pięknego i prostegu Smultrona. Chyba, że ktoś mi powie, jak zrobić w nim to samo.
Powiem krótko: jestem zachwycona. To jest TO narzędzie, którego szukałam.
Rysiu, DZIĘKI!
Staram się powoli uczyć kombinacji klawiszowych i możliwości Emacsa. Nie wszystko jeszcze działa zgodnie z oczekiwaniami, ale jednak coraz lepiej. Znalazłam plik z ciekawymi ustawieniami, m.in. do TeX-a, Jakuba Narębskiego i kilka z nich przekopiowałam do mojego pliku ~./emacs. Działa rewelacyjnie. Szczególnie przypadło mi do gustu ustawienie które koloruje parujące się nawiasy, po najechaniu na nie, oraz „ask to quit emacs”, które jest szczególnie ważne, gdy jeszcze mi się mylą skróty klawiaturowe i ciągle zamykam emacsa zamiast zachować plik.
Co jeszcze jest genialne w Emacsie? Nxhtml-mode (tak, tak, nie chodzi o nxml-mode, ale o jego rozszerzenie). Oto lista niektórych możliwości, o które rozszerza on nxml-mode (czyli tryb edycji plików xmlowych):
- Link handling
- Easier insertion of tags with links.
- Following links to edit or view.
- Moving between links.
- Moving files and automatically update affected links.
- Copy link to id location and paste it back as a relative link.
- Link checking (local links only)
- Creating table of contents for a page.
- Creating table of contents for a site.
- Merging of pages and table of contents for a site.
- Editing of inlined CSS and JavaScript?
- Edit a fragment of a XHTML file (for blogging for example)
- Support for folding (using FoldDwim).
- Help for XHTML tags and CSS attributes.
- Uploading
- Editing of remote files.
- Easy viewing of local and remote files in web browser.
- Adding a popup menu to [apps] to access these features (uses AppMenu).
Gdyby komuś przyszło kiedykolwiek rozpakowywać makowe pliki typu:
„PackIt, Diamond, Compactor / Compact Pro, most StuffItClassic / StuffItDeluxe, and all Zoom and LHarc / MacLHa archives, and archives created by later versions of DiskDoubler. Also it will decode files created by BinHex5.0, MacBinary, UMCP, Compress It, ShrinkToFit, MacCompress, DiskDoubler and AutoDoubler”
pod Linuksem, można użyć programu MacUtils.
Przed chwilą ktoś z niemieckiej grupy dyskusyjnej kupił font Zapfino One, który był przygotowany na Maca i nie mógł ich otworzyć na Linuksie, bo to były pliki typu .bin.
www.flickr.com
|