Właśnie zacząłem używać fancyhead
.
Napotkałem problem polegający na tym, że tytuły moich podsekcji są umieszczane w tym samym wierszu co nagłówek. Jeśli tytuł podsekcji jest zbyt długi, dwa fragmenty tekstu zostaną wydrukowane jeden nad drugim.
Byłbym zadowolony z jednego z dwóch rozwiązań:
- Usuń tytuł podsekcji z nagłówków
- Upewnij się, że tytuł podsectoin i utworzony przeze mnie nagłówek będą w różnych wierszach. Być może jakieś rozwiązanie z tabelą – jak w Pobieranie rozdziału i sekcji w \ fancyhead .
Załączę mój Przykładowy kod poniżej:
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[swedish]{babel} \usepackage{lipsum} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead[R]{Studiehandledning \date{\today}} \title{Studiehandledning till kursen \\ xxxxx} \begin{document} \maketitle \newpage \section{bla bla} \lipsum \subsection{skalleper} \lipsum \section{wlä wlä wlä} \lipsum \section{olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \subsection{olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \end{document}
Osobliwością jest również to, że w nagłówku pojawiają się tylko podsekcje, a nie sekcje. Ale może to być związane z dyskusją dotyczącą stron parzystych i nieparzystych w Pobieranie rozdziału i sekcji w \ fancyhead .
Komentarze
- Nie jestem pewien, czego chcesz, ponieważ Twoje punkty 1 i 2 są nieco sprzeczne. Chcesz tytuł podsekcji? A co z tytułami sekcji?
- Nie jest to konieczne do celów niniejszego raportu. Dlatego dwie opcje. Tytuły sekcji nie pojawiają się w nagłówku – tak jak napisałem. Może to z powodu tej nieparzystej / parzystej strony. ' nie jestem pewien.
- Ale co dokładnie Ty chcesz mieć?
- To jest więcej o tym, czego nie chcę mieć. Nie chcę, aby tekst zakłócał / nakładał się na mój zamierzony nagłówek.
Odpowiedź
Może ten kod robi to, co Ty chcesz (tylko Twój nagłówek i numer strony):
\pagestyle{fancy} \fancyhf{} \fancyhead[R]{Studiehandledning \date{\today}} \fancyfoot[C]{\thepage}
Dodano:
Proponuję to, używając opcjonalnego argumentu (pod) sekcji, gdy tytuł jest zbyt długi, jeśli ma to sens. Myślę, że łatwiej to zrobić z titleps
:
\documentclass[a4paper, twoside, swedish]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{geometry} \usepackage{babel} \usepackage{lipsum} \usepackage{titleps} \newpagestyle{mine}{% \large \headrule \sethead[\itshape\thesection.\enspace\MakeUppercase{\sectiontitle}][][\itshape Studiehandledning \date{\today}]% {\itshape Studiehandledning \date{\today}}{}{\itshape\thesubsection\enspace\subsectiontitle} \setfoot{}{\thepage}{} }% \title{Studiehandledning till kursen \\ xxxxx} \pagestyle{mine} \begin{document} \maketitle \newpage \section{bla bla} \lipsum \subsection{skalleper} \lipsum \section{wlä wlä wlä} \lipsum \section[olika oolika grrrumph]{olika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \subsection[olika oolika pfffyiæð] {olika oolika ffgfd rgrgreg rgdsfgdsfgrd gsdgsdg gsrgrg} \lipsum \end{document}
Ten kod działa tylko w przypadku dokumentów dwustronnych ze względu na użycie 3 opcjonalnych argumentów \sethead
.
Dodano 2 : w przypadku dokumentów jednostronnych ten sam wynik można uzyskać przy użyciu pakietu \ifoddpage
i tego kodu :
\usepackage{isoddpage} \sethead{\itshape Studiehandledning \date{\today}}{}% {\checkoddpage% \itshape\ifoddpage\thesubsection\enspace\subsectiontitle\else\thesection.\enspace\MakeUppercase{\sectiontitle}\fi} \setfoot{}{\thepage}{} }%
Komentarze
- Tak, to rzeczywiście " Rozwiązanie 1 "! Czy
\fancyhf{}
oznacza, że inne nagłówki powinny być ignorowane? - Zakładam, że " Rozwiązanie 2 " jest dużo trudniejsze?
- Chcesz, aby tytuły podsekcji i tekst znajdowały się na tej samej stronie? A co z tytuły sekcji? idą gdzieś, czy nie powinno być żadnego? Czy jest to dokument dwustronny czy jednostronny?
- I ' d mówię, że ' jest łatwiejsze dzięki
titleps
(co zawieratitlesec
), ponieważ nie trzeba walczyć ze znakami. Za chwilę ' wyślę kod. Czy długości Twoich podsekcji są realistyczne? Możesz użyć opcjonalnego argumentu, aby uzyskać krótsze tytuły. - (1): Nie, wygrał ' t. ' opublikowałem inny kod dla dokumentów jednostronnych (2) Musisz to zrobić ręcznie, z kodem takim jak
\section[short title]{A much longer title}
. (3) W nagłówku umieszczasz wszystko, co chcesz (z wyjątkiem elementów zmiennoprzecinkowych…): obrazy, tabele. Zwykle ' musisz zmienić wartość\headheight
. Może to odbywać się kosztem gwałtu na zasadach typograficznych.