
Для всех моих документов я создал файл template.tex, который импортируется во все мои файлы. Но он говорит, что у меня возникли эти проблемы:
/home/rperrod/rp/PERSO/LaTeX/Test/template/t.tex:20: Undefined control sequence. [ \setlength{\footheight}{10mm}]
/home/rperrod/rp/PERSO/LaTeX/Test/template/t.tex:20: LaTeX Error: Missing \begin{document}. [ \setlength{\footheight}{10mm}]
/home/rperrod/rp/PERSO/LaTeX/Test/template/t.tex:25: Undefined control sequence. [ \allowdisplaybreaks]
Вот мой тестовый файл:
\documentclass[a4paper, 12pt]{article}
\usepackage[english, french]{babel}
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{varwidth}
%----------- My template file ---------
\geometry{
a4paper,
left=16mm,
top=16mm,
bottom=16mm,
right=16mm
}
\pagestyle{fancy}
\fancyhf{}
\setlength{\headheight}{10mm}
\lhead{\textsc{Some Text}}
\rhead{\textsc{SOME} Text}
\setlength{\footheight}{10mm}
\rfoot{\thepage}
\date{}
\author{}
\allowdisplaybreaks
%-----------------------------------
\title{I'm a giraffe}
\begin{document}
\maketitle\thispagestyle{fancy}
Lorem ipsum
\section{Colorado}
\newpage
\newpage
\section{Says}
\newpage
\section{Giraaaaaaaaaaaaaaaffe}
\end{document}
В чем проблема? Я просто скопировал это у своего друга, и у него это работает. Я забыл определенный пакет?
решение1
Лучше включить headheight
и footskip
(не footheight
) в определение геометрии, а не отдельно с \setlength
.
\documentclass[a4paper, 12pt]{статья}
\usepackage[english, french]{babel}
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{varwidth}
\usepackage{amsmath}
%----------- My template file ---------
\geometry{
a4paper,
left=16mm,
top=16mm,
bottom=16mm,
right=16mm,
headheight=10mm,
footskip=10mm,
}
\pagestyle{fancy}
\fancyhf{}
\lhead{\textsc{Some Text}}
\rhead{\textsc{SOME} Text}
\rfoot{\thepage}
\date{}
\author{}
\allowdisplaybreaks
%-----------------------------------
\title{I'm a giraffe}
\begin{document}
\maketitle\thispagestyle{fancy}
Lorem ipsum
\section{Colorado}
\newpage
\newpage
\section{Says}
\newpage
\section{Giraaaaaaaaaaaaaaaffe}
\end{document}
решение2
Формат отображаемых вами сообщений об ошибках вводит в заблуждение, поскольку не позволяет понять, какая именно команда не определена.
Первая ошибка —
! Undefined control sequence.
<argument> \footheight
l.23 \setlength{\footheight}{10mm}
?
Если вы закомментируете строку 23 и перезапустите, то получите
! Undefined control sequence.
l.28 \allowdisplaybreaks
Это команда, amsmath
которая не была загружена, поэтому добавьте
\usepackage{amsmath}
Вы также получаете
Package french.ldf Warning: OT1 encoding should not be used for French.
(french.ldf) Add \usepackage[T1]{fontenc} to the preamble
(french.ldf) of your document; reported on input line 35.
Итак, если сложить все вместе, то никаких предупреждений или ошибок от:
\documentclass[a4paper, 12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[english, french]{babel}
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{varwidth}
\usepackage{amsmath}
%----------- My template file ---------
\geometry{
a4paper,
left=16mm,
top=16mm,
bottom=16mm,
right=16mm
}
\pagestyle{fancy}
\fancyhf{}
\setlength{\headheight}{10mm}
\lhead{\textsc{Some Text}}
\rhead{\textsc{SOME} Text}
% \setlength{\footheight}{10mm}
\rfoot{\thepage}
\date{}
\author{}
\allowdisplaybreaks
%-----------------------------------
\title{I'm a giraffe}
\begin{document}
\maketitle\thispagestyle{fancy}
Lorem ipsum
\section{Colorado}
\newpage
\newpage
\section{Says}
\newpage
\section{Giraaaaaaaaaaaaaaaffe}
\end{document}