Novinky v LibreOffice 7.1 – Writer, Calc a další

Ve druhém díle našeho přehledu novinek v LibreOffice 7.1 se zaměříme na změny a vylepšení v modulech Writer a Calc, vylepšenou podporu formátů Microsoft Office a přidáme několik zajímavostí z programování.   

Novinky ve Writeru

Inspektor stylů

… je jedním z výsledků loňského Google Summer of Code a jeho autorem je Šivam Kumar Singh. Inspektor stylů se zobrazuje jako další záložka v Postranní liště a jeho úkolem je zobrazovat všechny atributy odstavcových a znakových stylů a ručně formátovaného textu. Poskytuje tak úplný a souhrnný pohled na veškeré použité formátování v dokumentu. Doporučujeme k přečtení Šivamovu závěrečnou zprávu.

Nový průzkumník stylů Nový průzkumník stylů

Režim osnovy

… je nová experimentální funkce, která umožňuje „sbalit“ text podle úrovní. Po aktivaci této funkce se při výběru nadpisu (kliknutí na něj) zobrazí vedle nadpisu tlačítko v podobě šipky. Ta má dva stavy (směry), doprava a dolů. Je-li šipka orientována dolů, není žádný text sbalený. Kliknutím na šipku levým tlačítkem sbalíte (skryjete) veškerý text od stávajícího nadpisu po další nadpis. Opakovaným kliknutím levým tlačítkem myši text opět zobrazíte. Obdobně to funguje při kliknutí pravým tlačítkem myši, tehdy se ovšem skryje veškerý text až po nadpis stejné úrovně. Zůstanou viditelné jen nadpisy (samozřejmě nižších úrovní).

Chcete-li tuto funkci aktivovat, je třeba nejprve povolit experimentální funkce. V okně Možnosti (z nabídky Nástroje) zobrazte sekci LibreOffice | Pokročilé a v ní zaškrtněte pole Povolit experimentální funkce. LibreOffice restartujte a následně znovu vyvolejte okno Možnosti a v části LibreOffice Writer | Zobrazení zaškrtněte pole Zobrazit tlačítko viditelnosti obsahu osnovy a potvrďte stisknutím tlačítka OK.

Pokud je tato funkce aktivována a umístíte-li kurzor do řádku s nadpisem, tlačítko viditelnosti osnovy se automaticky označí jako aktivní. Pokud pak stisknete tlačítko Enter (pro přesun na další řádek), nedojde k přesunu na další řádek, ale ke změně stavu tohoto tlačítka (funkce). To je řešeno v Bugzille.

Další novinky

  • Výchozí ukotvení obrázků na stránce lze určit. V okně Možnosti vyhledejte část LibreOffice Writer a v ní Pomůcky pro formátování. Zde najdete sekci Obrázek s rozbalovací nabídkou Ukotvení. Nově vložený obrázek bude mít takto nastavené výchozí ukotvení.

Výchozí ukotvení obrázků Výchozí ukotvení obrázků

  • Objekty lze nyní ukotvit k textové oblasti stránky. To lze nastavit v okně Umístění a velikost. Pozor, při vkládání vzdálenosti odsazení je třeba připočítat velikost objektu. Bližší informace v blogu Mikloše Vajny.

Ukotvení objektů k textové oblasti stránky Ukotvení objektů k textové oblasti stránky

  • Writer podporuje soubory nezávislé na lokalizaci. To je třeba, pokud šablony vznikne jinou cestou než z prostředí LibreOffice (například z kontextové nabídky souborového správce atd.). Operační systém přitom může mít nastavenou jinou lokalizaci než LibreOffice. Následně pak docházelo ke konfliktu ohledně kontroly překlepů. Problém byl vyřešen tak, že pokud soubor vznikne jinak než z prostředí LibreOffice, neodkazuje se na žádný jazyk. Bližší info najdete v blogu Mikloše Vajny.

  • Writer je s to detekovat Unicode znaky, třebaže jim chybí BOM (označení pořadí bytů).

  • Vyhledávání prostřednictvím funkce Najít/nahradit bylo zrychleno.

  • Podtabulky vytvořené v OpenOffice.org verze 2.2 starší se nyní konvertují do tabulky řádků, což zlepšuje export do HTML nebo formátů Wordu.

Novinky v Calcu

Změna výchozího chování klávesy Enter

Volitelně lze změnit chování klávesy [Enter]. Pokud uživatel zkopíruje obsah nějaké buňky a následně se v tabulce chce posunout na jiné místo, kde obsah vloží, často pro přechod používá klávesu [Enter]. Ve výchozím nastavení ovšem stisknutí této klávesy v okamžiku, kdy jsou ve schránce nějaká data, způsobí vložení obsahu schránky na aktuální buňku. Tomuto chování se lze vyhnout použitím kurzorových kláves nebo odznačením dané buňky (stisknutím klávesy [Esc]) a vložením obsahu schránky do požadované buňky stisknutím kláves [Ctrl + v], případně využitím kontextové nebo hlavní nabídky. Uživatelé však nyní mají možnost toto výchozí chování změnit a zakázat vkládání obsahu schránky stisknutím klávesy [Enter] trvale. K tomu je třeba v okně Možnosti, v sekci LibreOffice Calc | Obecné, odškrtnout pole Stisk klávesy Enter vloží ze schránky a schránku vymaže.

Změna nastavení výchozího chování klávesy Enter Změna nastavení výchozího chování klávesy Enter

Vylepšený Automatický filtr

Výběr položek automatického filtru byl vylepšen. Nyní je možné položky vybírat klepnutím na ně, není tedy nutno kliknout na zaškrtávací pole.

Tato nová funkce se neprojeví na linuxových desktopech, postavených na GtK (Gnome Shell, Cinnamon atd.) – popsáno v Bugzille. V prostředí KDE probíhá výběr v pořádku, pokud má uživatel nainstalovaný balíček kde-integration. Instalace tohoto balíčku je však problematická, protože uživatelé KDE pak nemohou v LibreOffice vkládat znaky prostřednictvím Unicode kódů – reportováno v Bugzille. (Pro možnost vkládání znaků prostřednictvím Unicode kódů je zapotřebí doinstalovat iBus nebo fcitx.)

Další změny

  • Další vylepšení automatického filtru se týká zrychlení odezvy při vyhledávání. Dříve pokud měl uživatel ve sloupci (ve kterém měl aplikovaný automatický filtr) velké množství jedinečných hodnot a napsal nějaké znaky do vyhledávacího pole, bylo následné dohledávání pomalé. Zásluhou mj. českého vývojáře Luboše Luňáka bylo toto dohledávání markantně urychleno – odezva je nyní okamžitá.

  • Do okna Řešitele bylo přidáno tlačítko Obnovit vše.

  • Byla opraveno chování při vkládání odkazu na buňku v jiném listu sešitu do buňky v sešitu, ve kterém jsou ukotvené řádky a/nebo sloupce. V dřívějších verzích Calcu bylo chování nesprávné; pokud uživatel označil buňku, stiskl klávesu [=], označil buňku v jiném listu a v původním stiskl klávesu [Enter], odkaz se nevložil. Toto chování je nyní opraveno.

  • Bylo též opraveno chování při vyplňování sloučenými buňkami, kdy se ztrácela struktura buněk, sloučení, formátování a další vlastnosti.

  • Funkce INDIRECT nyní podporuje názvy místních listů s rozsahem listu.

  • Byla zrychlena kontrola překlepů.

Zlepšení interoperability

Jako v každé nové major verzi LibreOffice je i v této pamatováno na zlepšení podpory s dokumenty Microsoft Office. Konkrétně se změny týkají podpory *.docx a *.pptx.

Proč jde v tomto případě o nikdy nekončící proces, ve kterém vždy bude LibreOffice pozadu, se dočtete v článku Problémy spojené s používáním OOXML.

Import/export z/do DOCX

Hlavní změny se týkají podpory tabulek (jako je přidání podpory sledování změn v plovoucích tabulkách, přidání možnosti importu vzorců v textových tabulkách), zachování mezer pod posledním odstavcem v záhlaví, lepší práce s mezipamětí (bližší info zde), správy výsledných hodnot polí.

Pro zachování interoperability s Wordem byly do Writeru přidány některé tabulkové funkce:

  • PRODUCT

  • ABS

  • SIGN

  • COUNT

Import/export z/do PPTX

Mikloš Vajna zapracoval na lepší podpoře SmartArt objektů – bližší info v jeho blogu (zde a zde).

Další změny

K dispozici je rozšířitelná a robustní kolekce maker pro skripty v Basicu a Pythonu. (Podrobnosti jsou k dispozici v poznámkách k vydání.)

Pro všechny příkazy Basicu byly připraveny syntaktické diagramy. Zájemcům o tuto problematiku doporučujeme navštívit stránku Syntax Diagrams.

(Jako ve škole) Průměr: 1.00 | Hodnotilo: 2
 

Komentáře

user avatar kamlan
Odpovědět
Pár postřehů z verze 7.1(.1.1)
23. 02. 2021, 17:16:19
Writer:
-Inspektor stylů je skutečně hodně povedená věc :-).

-Nastavit výchozí ukotvení obrázků je řekl bych tak "zahraničně-pěkné", ale vůbec to neřeší Svislé a Vodorovné umístění obrázku, takže v mnoha případech beztak bude muset uživatel tohle nastavovat ve Vlastnostech obrázku. Česky-pěkné by to podle mně bylo s volitelným nastavením výchozích hodnot i pro ta umístění.

-ve verzi 7.0.4.2 se dokumenty otevíraly v místě ve kterém byly uložené, takže když jsem měl odrolováno třeba do půlky dokumentu a uložil, tak se otevřel v té polovině. Ve verzi 7.1.nevim tohle začlo blbnout, ale dalo se toho otevření v uložené pozici docílit občas tak, že se po otevření přeplo na jiný dokument, chvíli počkalo než se ten otevíraný načetl a pak se na něj přeplo nazpět. Nebo před přepnutím na jiný dokument ještě šlo lehce porolovat myší. Ale nefungovalo mi to vždy. Když se při otevírání většího dokumentu rolovalo myší dolů, tak se taky dokument stále otevíral a vykresloval, což měnilo hýbátko ve svislé rolovací liště. Zkusil jsem tedy aktuální vývojovou verzi 7.2.0.0.alpha0+ a v ní je tento "zřejmě experiment na libreofisáckém uživateli" řešen tak, že se dokument otevírá vždy jen na začátku a nikam se neodrolovává :-). Je to však škoda a doufám že časem se to povede dořešit, neboť otevření na pozici kde byl dokument uložen jsem si docela oblíbil.


Calc: v něm jsem objevil 2 chyby v makrech.

-Jednu která makrem povolí zapnout/vypnout automatickou kontrolu pravopisu a fungovala ve verzi 7.0.4.2, ovšem pouze když se to makro pustilo z menu Nástroje/ Makra/ Spustit makro. Když se pustilo přímo v Basic Editoru, tak to nic nedělalo. Ve Writeru to přitom chodí z menu i z Basic Editoru. Navíc ve verzi 7.1.1.1 záznam makra neuloží pro zapnutí/vypnutí Automatické kontroly pravopisu jeden parametr, který byl ukládán ve verzi 7.0.4.2. Bug nahlášen zde: https://bugs.documentfoundation.org/show_bug.cgi?id=140618

-Druhá chyba se týká operace s poli, kdy při nějaké příležitosti vyhodí chybu na p(i)=array(p(i)) apod. (přičemž v 7.0 to fungovalo), ale ještě jsem to nedokázal úplně reprodukovat neboť se mi nechce až tak štrachat v rozsáhlejším kódu ve kterém to dělá, takže na to jdu pomaleji a snad se během pár dní podaří. Dá se to však snadno obejít použitím druhého pole p2(i)=array(p(i)).


Syntaktické diagramy: zmiňované na závěr článku nejsou špatné, ale je to spíše o zvyku. Připadá mi že jsou fakt přehlednější než ta syntaxe příkazu ve stylu Příkazového řádku. Na obou zápisech by se dle mého názoru sice něco dalo "vylepšit", ale den má jen 24 hodin :-). Ale vnímám to jako dobrou věc.


Knihovna pro makra ScriptForge:
-je docela náročná neboť je v ní v podstatě vše řešeno objektově. Občas se třeba na fóru potýkáme s volbou Option Explicit, ale v té knihovně jsou očividně s oblibou používány ještě Option Compatible
& Option ClassModule - a i nějaké další. Pro začátečníka nebo amatérského programátora zpočátku docela složité se v těch objektech zorientovat a naučit se to používat. Naštěstí je ale starší verze této knihovny bez objektů a v té se orientuje o poznání lépe :-): https://github.com/Tj85710/LibO-Primitives - je to tam v tom ODT souboru.


Python:
-ten není do LibreOffice zakomponován tak, aby to bylo uživatelsky příjemné jak Basic. Nemá vestavěný editor jako je Basic Editor ani organizátor knihoven a modulů. A tak vytvořit nějaké makro v Pythonu je poněkud složitější. Je na to doplněk Apso Python Editor https://extensions.libreoffice.org/en/extensions/show/apso-alternative-script-organizer-for-python , ale to je v podstatě organizátor skriptů, editor ne. Samotný skript se musí psát v nějakém externím editoru (zkusil jsem PSPad), ale nepochopil jsem jak třeba makro krokovat při ladění. Možná to jde nějak jednodušeji, ale v rámci svého lehkého bádání jsem na to prostě nepřišel a dále se tomu více nevěnoval.

-zajímavé rozšíření s různými funkcemi je od jednoho Mexičana: ZaZ EasyMacro: https://gitlab.com/mauriciobaeza/zaz-easymacro ; popis použití https://gitlab.com/mauriciobaeza/zaz-easymacro/-/wikis/home ; přímo OXT soubor https://gitlab.com/mauriciobaeza/zaz-easymacro/-/blob/master/files/EasyMacro_v0.7.0.oxt
Je to v Pythonu, ale knihovna se dá načíst jedním řádkem i do Basicu a lze tak využívat její funkce, např. app=createUnoService("net.elmau.zaz.EasyMacro") : pole=app.sort(...), ostatně je to příkladováno v dokumentaci.


Pokus s knihovnami ScriptForge a ZazEasyMacro:
V Calcu jsem dal vygenerovat 200tis. řádku s náhodnými čísly od 0 do 10tis. V menu pak dal Data/ Řadit vzestupně. Calc to přeskládal asi za vteřinu.
Zkusil jsem v Basicu makro ze ScriptForge na seřazení, ta objektová verze řadí pomocí HeapSort, pouhých 3000 položek řadila 8s. V testu na 100tis. položek jsem vyměkl asi po 40 sekundách a Libre ukončil přes Ctrl+Alt+Del.
Starší verze ScriptForge bez objektů má dvě metody pro QuickSort, první těch 200k položek seřadila za 47s, druhá za 39s.
Řazení využívající ZazEasyMacro to udělalo za 2s.

Některé operace tedy budou v Pythonu rychlejší než v Basicu neb by na to měl být dělaný, ale ani to nemusí znamenat, že to bude rychlejší než třeba přímo v Calcu. Python se pravděpodobně dočká plnohodnotné implementace do Libre podobně jako je v ní plnohodnotně Basic - a pak třeba bude maker v něm přibývat razantněji. Ale v této současné neúplné integraci Pythonu bych to na žádný masivnější přírustek maker v něm neviděl.
Co jsem zatím vykoumal tak některé operace se v Pythonu provedou syntakticky snáze než v Basicu, ale s některými vlastnosti některých objektů mi to připadá zase těžší. Ale o tom třeba nějakou zmínku, jestli se s tím Pythonem někdy naučím víc :-).

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Petr Valach

Petr Valach

Redaktor & editor OpenOffice.cz a LinuxEXPRES.cz. Správce sociálních médií těchto redakcí. Člen nadace The Document Foundation. Ve svém volnu se věnuje popularizaci vědy a fotografování.

 
 
 
woo jaw demo hz