Acabei de começar a usar fancyhead
.
Encontrei um problema que os títulos das minhas subseções são colocados na mesma linha do cabeçalho. Se o título da subseção for muito longo, os dois shunks de texto serão impressos um sobre o outro.
Eu ficaria feliz com qualquer uma das duas soluções:
- Remova o título da subseção dos cabeçalhos
- Certifique-se de que o título da subsectoína e o cabeçalho feito por mim estejam em linhas diferentes. Algum tipo de solução com uma tabela talvez – como em Obtendo capítulo e seção em \ fancyhead .
Vou anexar meu código fictício abaixo:
\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}
Uma peculiaridade também é que apenas subseções aparecem no cabeçalho, não seções. Mas isso pode estar relacionado à discussão sobre páginas pares e ímpares em Obtendo capítulo e seção em \ fancyhead .
Comentários
- Não tenho certeza do que você quer, pois seus pontos 1 e 2 são um pouco contraditórios. Você quer ou não um título de subseção? E os títulos das seções?
- Não é necessário para os fins deste relatório. Portanto, duas opções. Os títulos das seções não aparecem no cabeçalho – como eu escrevi. Talvez seja devido a essa coisa de página ímpar / par. Eu ' não tenho certeza.
- Mas o que você deseja, exatamente?
- É mais sobre o que eu não quero ter. Não quero que o texto interfira / sobreponha meu cabeçalho pretendido.
Resposta
Talvez este código faça o que você deseja (apenas seu cabeçalho e o número da página):
\pagestyle{fancy} \fancyhf{} \fancyhead[R]{Studiehandledning \date{\today}} \fancyfoot[C]{\thepage}
Adicionado:
Proponho isso, usando o argumento opcional de (sub) seção quando o título for muito longo, se fizer sentido. Acho que é mais simples fazer isso com 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}
Este código funciona apenas para documentos de dois lados, devido ao uso dos 3 argumentos opcionais de \sethead
.
Adicionado 2 : para documentos unilaterais, você pode obter o mesmo resultado com o pacote \ifoddpage
e este código :
\usepackage{isoddpage} \sethead{\itshape Studiehandledning \date{\today}}{}% {\checkoddpage% \itshape\ifoddpage\thesubsection\enspace\subsectiontitle\else\thesection.\enspace\MakeUppercase{\sectiontitle}\fi} \setfoot{}{\thepage}{} }%
Comentários
- Sim, realmente é " Solução 1 "!
\fancyhf{}
significa que qualquer outro cabeçalho deve ser ignorado? - Presumo que " Solução 2 " é muito mais complicada?
- Você quer títulos de subseções e seu texto na mesma página? títulos das seções? eles vão a algum lugar, ou não deveria haver nenhum? É para um documento frente e verso ou unilateral?
- Eu ' d digo que ' é mais fácil com
titleps
(que vem comtitlesec
), pois não é necessário lutar com marcas. Eu ' postarei um código em um momento. Os comprimentos de suas subseções são realistas? Você pode usar o argumento opcional para ter títulos mais curtos. - (1): Não, ganhou ' t. Eu ' postei outro código para documentos unilaterais (2) Você deve fazer isso manualmente, com um código como
\section[short title]{A much longer title}
. (3) Você coloca tudo que deseja no cabeçalho (exceto floats …): imagens, tabelas. Normalmente, você ' terá que alterar o valor de\headheight
. Pode ser à custa de uma violação das regras tipográficas.