
Я написал анкету в LaTeX, используя пакет paperandpencil.sty
(http://www.qdds.de/index.php?id=129). Пакет каким-то образом отключает нумерацию страниц, но мне нужно, чтобы она была в анкете. Есть ли способ принудительно/повторно включить нумерацию страниц или создать свою собственную, похожую на стандартную нумерацию в классе статьи?
Вот мое преамбула с коротким примером.
\documentclass[a4paper, 12pt]{article}
\usepackage{geometry}
\geometry{a4paper, top=10mm, bottom=20mm, left=10mm, right=10mm, headsep=10mm, footskip=12mm}
\usepackage[interviewer, nonumbers]{paperandpencil}
\setlength{\answerwidth}{\linewidth}
\begin{document}
\setcounter{page}{75}
\addtocounter{section}{7}
\section{Example Code}
\startbox
\begin{flushleft}
\textbf{This is an example.}
\end{flushleft}
\stopbox
\end{document}
Мои знания LaTeX, к сожалению, не охватывают понимание исходного кода пакетов, а документация paperandpencil.sty
не охватывает нумерацию страниц. Учитывая, что это пакет, созданный моим немецким университетом, я предполагаю, что никто из вас его не знает. Я уже отключил все ненужные пакеты, но не смог найти никаких взаимодействий. Я был бы рад, если бы кто-то мог указать на мои ошибки, или, если их нет, мог бы придумать решение, как вручную вставить нумерацию страниц в документ.
Заранее спасибо!
Редактировать: Извините, я удалил все ненужные части преамбулы.
решение1
ЭтоМинимальная работаПример, который восстанавливает номера страниц и компилируется без ошибок.
\documentclass[a4paper, 12pt]{book}
\usepackage{paperandpencil}
\pagestyle{plain}
\begin{document}
\pagenumbering{arabic}
\setcounter{page}{75}
\addtocounter{section}{7}
\section{Example Code}
\begin{flushleft}
\textbf{This is an example.}
\end{flushleft}
\end{document}
РЕДАКТИРОВАТЬ
Просто несколько заметок об этом. .sty
Файл содержит сомнительный код. Например:
\renewcommand*\thechapter{\bf{\arabic{chapter}.}}
Это не только требует использования класса, который определяет главы (например, book
или report
, но не `article'), но и использования давно устаревшей команды для установки толщины шрифта или, точнее, этозлоупотреблениедавно устаревшая команда.
\bf
— это команда до LaTeX2e. Она никогда не принимала аргумент. То есть, даже если это был правильный способ установить жирный шрифт, его не следует использовать таким образом.
Альтернативы:
\renewcommand*\thechapter{\textbf{\arabic{chapter}.}}
или
\renewcommand*\thechapter{\bfseries\arabic{chapter}.}
Но проблема с определением вещей таким образом заключается в том, что вы получите жирный шрифт и следующую точку, если \thechapter
используется в перекрестной ссылке, например, что может быть не тем, что вам нужно. \thechapter
на самом деле следует задать только базовый формат счетчика, т. е. арабские или римские цифры или что-то еще. Это из book.cls
:
\renewcommand \thechapter {\@arabic\c@chapter}
Было бы лучше, если бы пакет использовал это (при необходимости) и обрабатывал формат по умолчанию \chapter
соответствующим образом.
Однако пакет не переопределяет \thesection
. Поэтому, когда вы объединяете его с book.cls
определением по умолчанию:
\renewcommand \thesection {\thechapter.\@arabic\c@section}
в итоге вы получаете не одну точку, а две, между номером главы и номером раздела (как показано в выводе моего MWE). Если вы определяете главу (например, чтобы избежать нулевой вещи), то вы получаете:
что мне кажется совершенно неправильным.
Использование этого пакета без понимания кода, боюсь, может оказаться разочаровывающим опытом. Например, совсем не осторожно выбирать имена макросов, которые, скорее всего, не будут конфликтовать с именами, используемыми другими пакетами. Например, он не использует префикс для внутренних команд и определяет несколько двухбуквенных макросов (например \df
, \km
), что не является хорошей практикой.
Возможно, так и задумано, но пакет также определяет окружения таким образом, что это добавит много вертикального интервала, например, он использует center
и tabular
вместе, что добавит вертикальный интервал до и после их содержимого.