Portál AbcLinuxu, 28. října 2025 21:37
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 
(Popřípadě napsat takový makefile, který to pokaždé udělá.)
@PREAMBLE{"\addcontentsline{toc}{chapter}{Literatura}"}.
\addcontentsline{toc}{chapter}{Literatura}
\begin{thebibliography}{16}\addcontentsline{toc}{chapter}{Literatura}
\bibliographystyle{csplainnat}
\bibliography{literatura}\begin{thebibliography}{16}
\addcontentsline{toc}{chapter}{Literatura}
O příkazu @PREAMBLE jsem nevedel
\if@twoside\cleardoublepage\else\clearpage\fi coz je presne to, co si nazval prasackym resenim.
Dalsi co me napada je predefinovat prostredi thebibliography.
, ale alespoň je to automatické -- zkusím to použít. Díky.
\@openbib@code, např.
\makeatletter
\def\@openbib@code{\addcontentsline{toc}{chapter}{Literatura}}
\makeatother
\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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.