abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 17
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (11%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 85 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    TeX

    TODO
    Informace o skupině
    Založena: 24. 8. 2008
    Členů: 48
    Článků: 0
    Wiki stránek: 1
    Dotazů: 108
    Akcí: 0
    Čtenost: 30 %
    Skóre: 29

    Dotaz: vstup dat z externího souboru

    25.9.2009 21:16 ludvík vlček
    vstup dat z externího souboru
    Přečteno: 903×

    přeji pěkný večer,

    dostal jse se do situace, kdy bych potřeboval v LaTeXu mít následující funkcionalitu. A nedokážu vymyslet jak NATO...

    V externím textovém souboru mám seznam záznamů. Každý záznam má několik položek. Každý záznam je na samostatné řádce. Je možné "získat" jednotlivé položky jako jednotlivá makra? Nevím, jestli se vyjadřuji dostatečně přesně, mělo by to fungovat podobně jako když definuji nová makra, například:

    \newcommand{\polozka1}{obsah1}

    \newcommand{\polozka2}{obsah2}

    akorát s tím rozdílem, že by obsah1, obsah2, ... by byl čten právě z onoho externího souboru. Cyklem bych pak přečetl celý obsah souboru.

    V TeXu, jak jsem zjistil, to asi není žádný velký problém. Bohužel, i když se snažím delší dobu "pochopit" filozofické principy TeXu (PlainTeXu) jako takového, to podstatné mi stále uniká, nějak se nemůžu chytit.

    Prosím, nevěděl by někdo jak NATO??

     

    Odpovědi

    27.9.2009 08:45 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru

    Například takto je možné načíst řádky souboru data.txt:

    \newcount\cisradku \cisradku=0
    
    \catcode`\|=13 \let|=\space
    
    % Cte radky ukoncene svislitkem, dokud nenarazi na \relax.
    \def\ctiradky#1|{\advance\cisradku by 1\relax
        \expandafter\def\csname \the\cisradku!!radek!!\endcsname{#1}%
        \futurelet\next\ctiradkycont}
    
    % Test, je-li dalsi token \relax.
    \def\ctiradkycont{\ifx\relax\next
            \let\pokracuj=\relax
        \else
            \let\pokracuj=\ctiradky
         \fi\pokracuj}
    
    \endlinechar=`\|
    
    % Nacteme soubor s daty a zpracujeme jeho radky.
    \expandafter\ctiradky \input data.txt
    \relax \endlinechar=`^^M
    \catcode`\|=12
    

    Předpokládám, že se v souboru nevyskytují speciální znaky. Výše zmíněný kód nadefinuje makra n!!radek!!, kde n je číslo řádku.

    Například obsah prvního řádku je přístupný přes \csname 1!!radek!!\endcsname. Pokud budou na každém řádku dvě položky odděleny středníkem, je možné si napsat makra na načtení první a druhé položky:

    \def\prvni#1{\def\nacti##1;##2|{##1}%
        \expandafter\expandafter\expandafter\nacti\csname #1!!radek!!\endcsname|}
    \def\druha#1{\def\nacti##1;##2|{##2}%
        \expandafter\expandafter\expandafter\nacti\csname #1!!radek!!\endcsname|}
    

    Každé z maker dostane číslo řádku a vrátí první resp. druhou položku na řádku. Nakonec ještě stojí za úvahu řádky rozparsovat do položek přímo v makru \ctiradky.

    4.10.2009 21:53 ludvík vlček
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru

    díky za pomoc,

    a omlouvám se za pozdní reakci, byl jsem několi dní mimo své pracovní nástroje...

    Byť jsem trošku pokročil ve studiu hlubin TeXu, příp. PlainTeXu, nějak mi uvedený příklad nefunguje. Když si vyrobím textový soubor, třeba

    polozka1 polozkovita
    polozka2 polozkovita
    polozka3 polozkovita
    polozka4 polozkovita
     

    tak se mi načte jako jedna řádka. Svislítko jsem na koncích řádek měl, je to jedno, speciální znaky se v textu souboru nevyskytují. Když si nechám zobrazit počítadlo (\the\cisradku), tak opravdu vypíše hodnotu 1.

    Příkaz \csname 1!!radek!!\endcsname vypíše celý obsah souboru, příkaz \csname 2!!radek!!\endcsname nevypíše nic, předpokládám, že obsah není definován, nebo tak něco.

    Zřejmě mi stále něco uniká

    :-(

     

    7.10.2009 08:19 Radek Miček | skóre: 23 | blog: radekm_blog
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru

    To je zvláštní, teď jsem to zkoušel a 4 řádky se mi korektně naparsovaly. Používátě příkaz tex nebo csplain?

    Ono totiž v latexu je problém v tom, že tam input není primitiv input, takže místo input musíte použít @@input (tj. uzavřít můj kód mezi \makeatletter a \makeatother a \input přepsat na \@@input).

    7.10.2009 19:06 ludvík vlček
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru

    Jo, to bude asi ono.

    Používám LaTeX, jak  jsem psal už v prvním příspěvku (a stále si připadám jako na začátku). Ješte jsem zkoušel PDFLaTeX, chová (chovalo) se to stejně.

    Po dopoučených úpravách TO už dělá co je očekáváno.

    Do všech tajů TeXu jsem zdaleka ještě nepronikl, přesněji, mám stále silnější pocit, že se (v mém případě) jedná o divergentní proces. No nic, nadechnout a znovu do hluboký vody...

    :-)

    P.S.

    Velmi nerad bych se nějak dotknul Petra Olšáka a jeho práce, ale předpokládám, že na zahájení studia TeXu a jeho zákoutí (v kontextu mého prvního dotazu) asi nebude nejvhodnější literatura jeho kniha, TeXbook naruby. Má někdo zkušenost i s jinými knihami ??

     

    BTW,

    děkuji mnohokrát za pomoc

     

    13.12.2009 07:09 Josef
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru

    Velmi nerad bych se nějak dotknul Petra Olšáka a jeho práce, ale předpokládám, že na zahájení studia TeXu a jeho zákoutí (v kontextu mého prvního dotazu) asi nebude nejvhodnější literatura jeho kniha, TeXbook naruby. Má někdo zkušenost i s jinými knihami ??

     

    Potom zbývá - a pro začátek studia TeXu je vhodnější - jen TeXbook Donalda Knutha, autora TeXu. Nebyl sice přeložen do češtiny, ale to nemusí být velkou překážkou. Je to zároveň vzorný příklad, jak by měla vypadat učebnice. Olšákův TBN si ale nechte poblíž. Ten na to jde skutečně trochu z jiné strany, naruby. Pohoda, hezký den.
    13.12.2009 13:47 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru
    Mě přišel TexBook naruby fajn, když si to člověk čte/zkouší postupně.
    13.12.2009 10:10 J. Hajtmar
    Rozbalit Rozbalit vše Re: vstup dat z externího souboru
    Univerzalni reseni tohoto problemu panem Olsakem je na http://public.hajtmar.com/?cesta=JRsVFQdsBhwIWzARGB4XMAQ

    resi se tam cteni a parsovani klasickeho CSV souboru

    J.Hajtmar

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.