Пример с кошкой

Пример с кошкой

Я использовал пакет fancyheadings, чтобы сделать нижний колонтитул с надписью "страница 2 из 3" и т. п., и это работало нормально, пока я не добавил пакет tikz, чтобы нарисовать некоторые фигуры. Теперь нижний колонтитул вообще не отображается, за исключением горизонтальной линии, отделяющей его от остальной части документа. Есть ли способ использовать и нижний колонтитул, и рисовать с помощью tikz?

Вот мой код:

    \documentclass[12pt,letterpaper]{article}
    \setlength{\textwidth}{6.5in}
    \setlength{\textheight}{9.5in}
    \setlength{\oddsidemargin}{-.25in}
    \setlength{\evensidemargin}{-.25in}
    \setlength{\topmargin}{-.25in}
    \usepackage{fancyhdr}
    \usepackage{lastpage}
    \pagestyle{fancy}
    \cfoot{Page \thepage\ of \pageref{LastPage}}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{1pt}
    %\usepackage{tikz}
    \begin{document}

    \begin{center}
    \Huge  {\bf More Sets}\\
    \end{center}
    \end{document}

Когда я компилирую с закомментированным \usepackage{tikz}, я получаю то, что хочу: Успех!

Но когда я раскомментировал \usepackage{tikz}, полоса все еще там, ниже, и никаких номеров страниц не обнаружено: введите описание изображения здесь

решение1

Нет. fancyhdrи tikzполностью совместимы. Я постоянно использую оба в документах.

Однако лучше загружать fancyhdrнапрямую, так как fancyheadingsэто все равно загрузит данные, поэтому это более прозрачно.

Вы даже можете, если захотите, использовать картинки TikZ в аргументах fancyhdrмакросов настройки заголовка и нижнего колонтитула. Пример с котами TikZ см. ниже.

Проблема, с которой вы столкнулись, вызвана тем, что без TikZ документ, который вы создаете, использует что-то вроде макета US letter на бумаге A4. Бумага A4 выше, чем US letter, поэтому места больше. Но, по сути, все просто оказывается повсюду.

Когда вы загружаете TikZ, это загружает что-то (не уверен, что именно), что подхватывает letterpaperкласс и устанавливает бумагу соответствующим образом. Так что теперь у вас есть макет бумаги формата Letter на бумаге формата Letter. Но бумага теперь короче и, по сути, недостаточно места.

Лучший способ решения этой проблемы — загрузить файл geometry, но тогда вам не нужно вручную корректировать размеры макета, а ограничиться указанием geometryпараметров упаковки или конфигурации.

Например:

\documentclass[12pt,letterpaper]{article}
\usepackage{geometry}
\geometry{width=6.5in,height=9.5in,left=.75in,top=.75in}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\cfoot{Page \thepage\ of \pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{1pt}
\usepackage{tikz}
\begin{document}
\begin{center}
  \Huge\bfseries More Sets
\end{center}
\end{document}

Обратите внимание, что это \bfбыло объявлено устаревшим более 20 лет назад и не должно использоваться в документах LaTeX после этой даты. Если начинается \documentclass, не должно использоваться \bfили подобное.

Обратите внимание, что \Huge {abc}dэто то же самое, что и \Huge abcd. \Hugeне принимает аргумент. Как и \bfseries, это переключатель.

В любом случае, вот результат:

отсутствие кошек

Отсутствие кошек бросается в глаза, но нельзя иметь все, и теперь все это попадает на страницу.

Однако это не совсем соответствует тому, что fancyhdrнам говорят:

Package Fancyhdr Warning: \headheight is too small (12.0pt): 
 Make it at least 14.49998pt.
 We now make it that large for the rest of the document.
 This may cause the page layout to be inconsistent, however.

Поэтому нам нужно снова изменить нашу компоновку, используя geometryинтерфейс:

\documentclass[12pt,letterpaper]{article}
\usepackage{geometry}
\geometry{width=6.5in,height=9.5in,left=.75in,top=.75in,headheight=15pt}
\usepackage{fancyhdr}
\usepackage{lastpage}
\pagestyle{fancy}
\cfoot{Page \thepage\ of \pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{1pt}
\usepackage{tikz}
\begin{document}
\begin{center}
  \Huge\bfseries More Sets
\end{center}
\end{document}

Конечный результат:

Отрегулированная высота заголовка

Пример с кошкой

Например:

Коты TikZ могут быть где угодно, в любом заголовке, в любом нижнем колонтитуле...

\documentclass[welsh,british]{article}
\usepackage[rgb,x11names,dvipsnames,svgnames]{xcolor}
\usepackage{kantlipsum,tikz,fancyhdr,geometry,babel}
\geometry{headheight=40pt,footskip=60pt}
\usetikzlibrary{cathod,trambws,positioning,decorations.footprints}
\colorlet{cath1}{blue!50!gray!75}
\colorlet{cath2}{cath1!50}
\colorlet{cath3}{DarkOrchid4}
\colorlet{cath4}{cath3!50}
\colorlet{lliw llygaid1}{Yellow1}
\colorlet{lliw llygaid2}{DarkOrange3}
\colorlet{lliw llygaid3}{Chartreuse1}
\colorlet{lliw llygaid4}{Green4}
\colorlet{lliw trwyn1}{LightPink2}
\colorlet{lliw trwyn2}{HotPink2}
\colorlet{cath5}{LavenderBlush3}
\colorlet{cath6}{LavenderBlush4}
\pagestyle{fancy}
\fancyhf{}
\fancyhf[lh]{%
  \tikz{\pic [xscale=-1] {cath eistedd={stripiau=cath1, llenwi=cath2, llygaid mewnol=lliw llygaid3, llygaid allanol=lliw llygaid4, trwyn=lliw trwyn1, maint=1mm}};}%
}
\fancyhf[rh]{%
  \tikz{\pic at (57.5mm,0) {cath eistedd={stripiau=cath3, llenwi=cath4, llygaid mewnol=lliw llygaid1, llygaid allanol=lliw llygaid2, trwyn=lliw trwyn2, maint=1mm}};}%
}
\fancyhf[cf]{%
  \begin{tikzpicture}
    \pic [xscale=-1] at (3,1.4) {cath eistedd={stripiau=cath6,llenwi=cath5,llygaid mewnol=lliw llygaid3,llygaid allanol=lliw llygaid4,trwyn=lliw trwyn2, maint=1mm}};
    \draw [line width=.5pt, rounded corners=.25pt, draw=Chocolate4] (3.5,.7) rectangle (3.6,.75);
    \draw [rounded corners=1pt, inner color=Chocolate3!95, outer color=Chocolate3, draw=Chocolate4, line width=.5pt] (3.35,.4) rectangle (3.75,.7);
    \draw [decorate, fill=Chocolate4, draw=Chocolate4, decoration={footprints, foot of=felis silvestris, foot length=.35pt, stride length=.4pt, foot angle=-30}] (3.625,.55) -- (3.525,.6);
    \draw [line width=1pt, line cap=round, draw=OliveDrab4] (4.75,1.85) -- (4.75,.25) coordinate [pos=.04] (a);
    \node [double=Green2, double distance=.25pt, draw=Green4!50!black, line width=.25pt, rounded corners=1pt, text=white, inner sep=1pt, fill=Green4, font=\sffamily\tiny\bfseries, align=center, anchor=north east] at ([xshift=1pt]a) {BUS STOP\\{\selectlanguage{welsh}SAFLE BYSIAU}};
  \pic [lliw y tram=Red2, lliw ffenestri=Snow3] at (-2,0) {tram=5};
  \end{tikzpicture}
}
\begin{document}
\kant[1-6]
\end{document}

Связанный контент