Portál AbcLinuxu, 18. července 2025 12:01

Dotaz: Úprava vzhledu obsahu (\tableofcontents)

23.1.2013 19:41 edumach | skóre: 2
Úprava vzhledu obsahu (\tableofcontents)
Přečteno: 2282×
Odpovědět | Admin
Příloha:
Formální úprava zadané práce mi přikazuje, aby byl veškerý text vygenerovaného obsahu:
  1. Celý zarovnaný vlevo (bez odsazení nižších úrovní),
  2. první úroveň vysázená tučně a četně teček (ve výchozím stavu nejsou).
Nějak takto PNG. Na webu jsem našel hromadu úprav, ale všechny se týkaly všeho možného, jen ne mého případu. Poradíte??


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.1.2013 20:02 Yeti
Rozbalit Rozbalit vše Re: Úprava vzhledu obsahu (\tableofcontents)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co to je proboha za školu, že předepisují i takové pitomosti? S takovou za chvíli budeme v TeXu napodobovat hnusnou sazbu vzorců z MS Wordu (psacího stroje, etc.), aby to bylo podle paestetického pacítění nějakého pablba.

A teď k věci. Odsazení dělá druhý argument \@dottedtocline, takže ho změnit na \z@
\def\l@section{\@dottedtocline{2}{\z@}{2.5em}}
\def\l@subsection{\@dottedtocline{3}{\z@}{2.5em}}
...
Třetí argument je celková šířka označení kapitoly/oddílu/odstavce/... Tudíž ten potřebuješ pro všechny typy nastavit stejně, aby to nebylo rozházené (zde uvedených 2.5em může být málo).

Kapitoly tučně se musí řešit samostatnou definicí \@lchapter. Nesral bych se s tím, protože o typografii tu asi stejně nejde, a zbastlil to takhle:
\def\l@chapter#1#2{\@dottedtocline{0}{\z@}{2.5em}{\bfseries #1}{\bfseries #2}}
Navíc to pak takhle nedělá ani vertikální mezery, které se v obsahu na této úrovni normálně vytvářejí, ale v tom PNG nejsou.
wamba avatar 23.1.2013 21:16 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Úprava vzhledu obsahu (\tableofcontents)
Odpovědět | | Sbalit | Link | Blokovat | Admin
balík tocloft by to měl umět
\documentclass{report} 
\usepackage{tocloft}

\renewcommand{\cftchapleader}{\bfseries\cftdotfill{\cftdotsep}}
\cftsetindents{section}{0em}{1.5em}

\begin{document}
\tableofcontents
\chapter{First chapter}
\section{Section One}
\section{Section Two}
\section{Section Three}
\chapter{Last chapter}
\section{Section One}
\section{Section Two}
\section{Section Three}
\end{document}
This would have been so hard to fix when you don't know that there is in fact an easy fix.
Řešení 1× (edumach (tazatel))
23.1.2013 21:28 edumach | skóre: 2
Rozbalit Rozbalit vše Re: Úprava vzhledu obsahu (\tableofcontents)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přílohy:
Díky za "nakopnutí". Nakonec jsem to vyřešil takto:
\documentclass[12pt,a4paper]{article}
\usepackage[left=3.5cm,right=2cm,top=2.5cm,bottom=2.5cm]{geometry}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{times}

\usepackage{setspace}
\onehalfspacing

\makeatletter
  \renewcommand*\l@section{\bfseries\@dottedtocline{1}{0em}{2.5em}}
  \renewcommand*\l@subsection{\normalfont\@dottedtocline{2}{0em}{2.5em}}
  \renewcommand*\l@subsubsection{\normalfont\@dottedtocline{3}{0em}{2.5em}}
\makeatother

\begin{document}
\tableofcontents
...
Pro zájemce přikládám zdrojový kód i screen výsledku. Pomohlo mi i toto

P.S. Taky se mi tento způsob formátování silně nelíbí, ale pravidla určuje škola. Co na tom, že je vytvářejí typografičtí ignoranti.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.