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í
×
    včera 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 4
    včera 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 5
    včera 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    21.5. 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    21.5. 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    21.5. 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    21.5. 11:33 | Nová verze

    Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).

    Ladislav Hagara | Komentářů: 0
    21.5. 05:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1687 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline

    drc avatar 1.11.2008 20:15 drc | skóre: 5
    LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Přečteno: 3403×
    Ahoj,

    mám problém. Píšu práci v documentclass book a generuju si do něj literaturu pomocí BibTeXu.

    Vypadá to takhle:
    \def\refname{Literatura}
    \bibliographystyle{csplainnat}
    \bibliography{literatura}\addcontentsline{toc}{chapter}{Literatura}

    Problém je v tom, že takhle obsah odkazuje na stránku kde seznam literatury končí. Pokud upravím kód:

    \def\refname{Literatura}
    \addcontentsline{toc}{chapter}{Literatura}
    \bibliographystyle{csplainnat}
    \bibliography{literatura}

    Tak se problém opět nevyřeší. Tentokrát obsah odkazuje na 2 stránky dopředu. (Místo správneho čísla (třeba) 10 udává 8.) Při změně z ...{chapter}... na section se chování nezmění.

    Myslím, že to je irelevantní, ale používám balík natbib.

    Děkuji za každou radu :-)

    P.S. Pokud někdo máte styl pro BibTeX, který odpovídá ČSN tak se prosím podělte. Ještě jsem žádný takový na netu nenašel :-(

    Odpovědi

    1.11.2008 22:43 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Ako to kompilujes? Na spravne generovanie krizovych odkazov treba zvycajne dve, niekedy aj tri kompilacie texom za sebou.

    Je to kvoli tomu, ze napr. ak mas obsah na zaciatku, tak pri prvej kopmpilacii obsah "nezabera ziadne miesto", az po prvej kompilacii sa vygeneruju pomocne subory, ktore obsahuju vstup pre obsah; pri druhej kompilacci sa vlozi tento obsah, a az vtedy "sa zisti", ze obsah zabera 3 strany, a teda vsetky nasledujuce referencie na strany je potrebne posunut.
    drc avatar 1.11.2008 23:37 drc | skóre: 5
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    To vím, ale na počtu kompilací to vůbec nijak nezávisí. Fakt. Podle mě je problém v documentclass book, která je nastavená tak, že novou kapitolu (respektive objekt na její úrovni) musí umístit na první volnou lichou stranu.

    V případě, že \addcontentsline{toc}{chapter}{Literatura} se nachází před voláním \bibliography{literatura} se do souboru .toc uloží číslo strany na které skončil text. Nicméně podle nastavení book může LaTeX vypsat Literaturu až na první "nepopsanou" lichou stranu -- tím vzniká ten posun o jednu nebo dvě stránky.

    Z toho plyne jedno prasácké řešení a to, že se před \addcontentsline vloží \clearpage nebo \cleardoublepage a to podle toho jestli text končí na sudé nebo liché stránce. Ve zkratce: No fuj! (Ale funguje to.) Stejně odporné řešení je manuální editace .toc.

    Dalším podobným řešením je editace souboru .bbl a přidáním \addcontentsline za \begin{thebibliography}. To také funguje, ale musí se to provádět po každém spuštění BibTeXu (ten přepisuje celý .bbl). Řešením by bylo přimět BibTeX, aby tam \addcontentsline doplňoval sám, ale to neumím :-( (Popřípadě napsat takový makefile, který to pokaždé udělá.)
    1.11.2008 22:46 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    P.S. CSN pre bibliograficke odkazy definuje nasledovanianehodny paskvil.
    drc avatar 1.11.2008 23:44 drc | skóre: 5
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Souhlasím. Leč norma je norma a má tu špatnou vlastnost, že ji občas někdo vyžaduje a s tím bohužel nic nenadělám.

    Na netu jsem našel 2 co by měly být CSN kompatibilní a tenhle ( http://kraken.pedf.cuni.cz/texing/ ) byl přeci jenom o něco lepší.
    2.11.2008 10:42 Devil ;o)
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Zkus dat na zacatek souboru literatura.bib @PREAMBLE{"\addcontentsline{toc}{chapter}{Literatura}"}.
    drc avatar 2.11.2008 11:27 drc | skóre: 5
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    To bohužel nefunguje. V souboru .bbl to vytvoří tohle:
    \addcontentsline{toc}{chapter}{Literatura}
    \begin{thebibliography}{16}


    Což je ekvivalentní s původním zápisem v .tex
    \addcontentsline{toc}{chapter}{Literatura}
    \bibliographystyle{csplainnat}
    \bibliography{literatura}


    Fungovalo by to pokud by .bbl vypadal takhle:
    \begin{thebibliography}{16}
    \addcontentsline{toc}{chapter}{Literatura}


    Každopádně díky za radu :-) O příkazu @PREAMBLE jsem nevedel ;-)
    2.11.2008 12:08 Devil ;o)
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Pravda, me to fungovalo jenom z toho duvodu, ze jsem pred vlozenim seznamu literatury volal jedno makro. To obsahuje \if@twoside\cleardoublepage\else\clearpage\fi coz je presne to, co si nazval prasackym resenim.

    Dalsi co me napada je predefinovat prostredi thebibliography.
    drc avatar 2.11.2008 14:03 drc | skóre: 5
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Čisté to sice není ;-), ale alespoň je to automatické -- zkusím to použít. Díky.
    drc avatar 3.11.2008 11:34 drc | skóre: 5
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Tak jsem to vyzkoušel a zdá se, že to problém vyřeší. Číslo strany je teď správně. Nicméně vynořil se jiný problém. Používám balíček hyperref, který dělá klikací odkazy v obsahu a ten stále míří na špatnou stranu. V porovnání s původním problém je to prkotina, ale stejně to zamrzí.

    Navíc v tomhle případě prostě netuším jak to vyřešit.

    3.11.2008 14:28 Devil ;o)
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Muzes me sem vlozit Tvoje predefinovany makro thebibliography.
    6.11.2008 12:12 x
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Nejlepším řešením asi je nadefinovat \@openbib@code, např.
    \makeatletter
    \def\@openbib@code{\addcontentsline{toc}{chapter}{Literatura}}
    \makeatother
    
    5.5.2012 11:05 vklidu
    Rozbalit Rozbalit vše Re: LaTeX: Odkazování na správnou stranu pomocí \addcontentsline
    Pred vlozeni seznamu literatury nebo obrazku apod. je potreba vlozit phantom sekci. Fiktivne to zacne novou sekci, ale realne se nikde nezobrazi. Slouzi to prave pro tyto typy problemu.
    \phantomsection 
    \addcontentsline{toc}{chapter}{List of Figures} 
    \listoffigures
    
    V pripade nove kapitoly je potreba jeste vlozit \cleardoublepage
    \cleardoublepage
    \phantomsection 
    \addcontentsline{toc}{chapter}{Literatura} 
    \bibliography{literatura}
    
    Je to ciste a doporucovane reseni.

    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.