Starý WORD, ten ťa už unavil nakoniec #3
Ešte si o trochu vylepšíme našu náhradu textového procesora. O side-by-side vizualizáciu.
1. Obsah druhej časti
V druhej časti sme si pomocou Makefile generovali PDF súbor, za využitia pandoc a Libre(Open)Office + jeho šablóny.
Niežeby to bolo zlé, ale prečo to nevylepšiť?
Vylepšíme to tak, že:
- Makefile nebude potrebný, spravíme si na to funkciu v (e)Lispe,
- a budeme mať náhľad v druhej polovici okna. Ako funkcia Preview v prastarom T602.
1.1. Písanie bez rušenia
Písanie v jednoduchom textovom dokumente bez efektného formátovania pomáha sústrediť sa na samotný text a nerozptyľovať sa vizuálnymi prvkami.
Absencia formátovania umožňuje sústrediť sa výlučne na obsah a myšlienky, ktoré chceme vyjadriť, bez starania sa o estetiku. To vedie k efektívnejšiemu procesu písania.
Preto samotný náhľad nepovažujem za veľmi dobré riešenie.
Avšak mnohé editory - najmä LaTex-u to tak majú. Tam to nedáva zmysel, pretože vizuálne dôležité veci, ako napr. matematické vzorce, môže predsa renderovať aj samotný textový editor.
Teda - taký lepší editor ☺.
Ale nejako vznikol návyk na instatný náhľad stránky, tak si to takto spravíme aj my. Ostatne, nemusí "strašiť" na obrazovke stále, postačí, ak je to buffer "jedno stlačenie klávesy ďaleko".
2. Samotná funkcia
…vyzerá takto:
(defun make-pdf-from-org-via-odt (&optional arg) "Make PDF and display it via ODT/LO template" (interactive) (defun get-odt-styles-file () (save-excursion (goto-char (point-min)) (search-forward "#+ODT_STYLES_FILE: ") (let ((beginning (point)) (end (search-forward ".ott" nil t))) (buffer-substring beginning end)))) (setq odt-styles-file (get-odt-styles-file)) (save-buffer) (shell-command (concat "pandoc -f org -t odt --verbose --reference-doc=" (format "%s" odt-styles-file) " -o out.odt " (format "%s" (buffer-name)))) (shell-command (concat "soffice --headless --convert-to pdf out.odt --outdir ./")) (kill-buffer "*Shell Command Output*") (switch-to-buffer "out.pdf") (revert-buffer t t) (previous-buffer) )
Stručne si ju opíšeme:
- Vnorená funkcia
get-odt-styles-file
(ktorá by mohla byť spravená aj ako lambda funkcia), slúži na to, že v texte hľadá reťazec:#+ODT_STYLES_FILE:
. A tento reťazec je náš súbor s Libre(Open)Office štýlom s príponou .ott
.
- Ďalej sa zavolá starý dobrý pandoc, vygereneruje sa pdf súbor.
- A tento súbor (
out.pdf
) sa aktualizuje a ak sme ho predtým mali otvorený v druhom okne, tak ho tam zaktualizovaný aj uvidíme. Ak bol v inom okne (bufferi), tak vizuálne sa nič nezmení, hoci sa súbor aktualizuje a môžeme si ho pozrieť. - Príkaz
previous-buffer
je potrebný preto, lebo kvôli aktualizácii výstupného pdf musíme do jeho okna "skočiť" a potom sa vrátiť naspäť do nášho editovaného dokumentu.
Funkcii make-pdf-from-org-via-odt
môžeme priradiť klávesovú skratku, napr. (local-set-key (kbd "<f9>") 'make-pdf-from-org-via-odt)
.
Reťazec #+ODT_STYLES_FILE:
môže byť v tele súboru hocikde, ale rozumné je ho mať, s inými nastaveniami, v hlavičke súboru, ktorá navyše sa dá skrývať (je to tzv. drawer).
A takto to vyzerá:
Obr. 1: Side-by-side náhľad editovaného dokumentu |
Obr. 2: … a jeho aktualizácia po zmene a stlačení <F9> |
GNU Emacs dokáže renderovať PDF súbory vo svojom okne pomocou nástrojov, ako sú pdf-tools alebo režim DocView. Tieto balíky umožňujú zobrazovať a prechádzať PDF súbory priamo v rozhraní Emacsu, vyhľadávať ich a editovať ich zdrojový text - čo ale treba brať s rezervou, nejedná sa o editáciu textu ako v nejakom Foxit Reader a pod.
3. Záver
Hádam je toto už posledná časť 😉.
V budúcnosti ale plánujem niečo v zmysle: "Starý Excel, ten ťa…".
Pre pridávanie komentárov sa musíte prihlásiť.
Mimochodom, aký je tag pre zvýraznenie syntaxe pre Lisp? Opravil by som to v tom zápise…
Je to code-lisp (povolené sú všetky jazyky podporované knižnicou pygments).
Btw pozerám správne, že sme obaja z okresu Poprad?
OK, dík, dokonca je tam i podpora eLisp.
Áno, som z PP.
To by bola paráda, mať nejakú PPLUG. :)
Kedysi boli *LUG v každom štáte. Ktovie, ako sa im darí dnes.
*LUG sú aspoň u nás mŕtve, ale nejaké stretnutie by bolo fajn, akurát v podstate tu z okolia okrem seba nikoho nepoznám. V podstate už to, že menujem seba je tak trochu zúfalý čin ;)
Stretnutie by ozaj bolo fajn a urobili by sme severo-východnú konkurenciu "nitránskej" úderke. ☺
Kľudne niečo dohodnime, napr. cez fórum, alebo v profile mám hobby mail.
Som pomerne flexibilný, pivu veľmi neublížim, ale čaje a pod. veci, to môžem.
Za mňa takmer kedykoľvek, kdekoľvek, nemám pevnú pracovnú dobu. K pivu mám vzťah asi taký, že som východniar, ale podľa možnosti alkohol nepijem.
Otázka vedeli by sme zohnať ešte niekoho?
Hm, v mojej malej sociálnej bubline nie.
Jedine takto verejne vyzvať všetkých Tatrancov, Liptákov, Spišiakov a (Za)Magurovanov, a samozrejme aj širšie okolie, ktorí sa chcú pohádať o linux vs. GNU/linux, nech sa pridajú 😃
Ok, tak teda takto verejne vyzývam. Skúsim niekde vo svojej bubline zaloviť, ale mám taký pocit, že sa mi všetko rozutekalo do zahraničia.
Ozaj kde by to mohlo byť? Ja nie som priamo z PP, takže nemám až taký prehľad.
Presne, ja mám tú istú skúsenosť. Väčšina ľudí je mimo PP. Aspoň, že sa nám podarí raz ročne (25. alebo 26. 12.) stretnúť, aj v pomerne veľkom počte.
Otázka kde zostáva. Nejaká cukráreň? Kaviareň? Mačacia kaviareň?
No, ak by to záležalo odo mňa, tak zvyknem chodiť do týchto podnikov:
- Minipivovar Tatras (https://minipivovartatras.sk/)
☺ vzorkovník pív, dobré jedlo
☹ obmedzený výber nápojov, ak človek nechce pivo
- S manželkou prevažne cukráreň Sladký sen (https://map.visitpoprad.sk/gastronomy/5d65b393-ac7b-41a6-aef0-03a3ff56b659?lang=sk)
☺ zákusky
☹ cukráreň
- Cat Café (https://www.catcafeclub.sk/o_nas.php)
☺ mačky, káva
☹ neviem, ako zvládli Covid, ale web majú stále
- Café Razy (https://www.caferazy.sk/)
☺ pizza, výber nápojov
☹ väčší hluk
Ja by som zatiaľ zvolil minipivovar. Nikoho iného som zatiaľ nezohnal, vlastne som stihol maximálne dať AI navrhnúť logo, ale nedokopal som sa k tomu opraviť pár chýb a poslať pár ľuďom.
Otázka znie kedy? Inak budúci týždeň ešte neviem kedy, ale 1 deň medzi pondelkom a štvrtkom budem pracovne preč a v piatok - nedeľu som na PyCon SK v BA.
Ech, napísal som odpoveď, ale po náhľade neodoslal ;)
V skratke - okrem piatku, kedy sa vrátim do PP až okolo 19-tej, ostatné dni nemám (zatiaľ) nič fixné, čo sa týka podvečeru(-ov).
Takže sa pružne prispôsobím tvojmu harmonogramu. Keď budeš mať jasnejšie čo a ako, tak napíš...
Ok, predbežne budúci týždeň bude lietajúci ale po ňom asi v pohode. Časovo by som to dal na 16:00. Skúsil som v miestnej dedinskej fb skupine, či sa niekto neozve. Vidím, že obaja sme trochu aj hardvéristi, bolo by fajn keby sa nejaký bastlič hardvérista ešte našiel.
O 16:00 mi to vyhovuje. Nie som nočný vták a radšej vstávam zavčasu ráno.
Uvidíme, či sa niekto ešte nájde, aj keď veľkú nádej tomu nedávam. Nie som aktívny na soc. sieťach, takže ani neviem, či nejaká podobná skupina v našom okolí existuje.
No sova tiež zrovna nie som. Posielam graf času kedy pracujem ;) Dole je to rozsekané podľa dní ;)
Pridávam ešte upravené logo (generované AI). Rozhodne dopadlo lepšie než keď som chcel propagačný obrázok linuxaka ;) Mačka v trúbo-krbe top ;)
Logo je super. A aj tá mačka :) a celkový surrealistický nádych.
Ok, čo tak streda, 20.3.2024, 16:00, Minipivovar Tatras?
Súhlas, môže byť. Ak by sa niečo zmenilo, dáme si vedieť...