Meine Anforderungdruckt ein Kochbuch mit einer Reihe von Rezepten. Die Rezepte werden jedoch häufig aktualisiert und es werden neue Rezepte hinzugefügt. Daher brauche ich eine Lösung, um zu verhindern, dass das ganze Buch neu gedruckt wird, wenn sich nur Teile davon geändert haben.
Mein Lösungsentwurfist, es so zu handhaben, wie es manche juristischen Buchverlage machen. Sie versehen das Buch mit einer Bindung, die man öffnen kann, um einzelne Seiten herauszunehmen oder hinzuzufügen. So brauche ich nur die geänderten Seiten und das Inhaltsverzeichnis auszudrucken.
Mein Problemsind Seitenzahlen. Ich suche nach einer Lösung, um die Seitenzahlen für den eingefügten Teil konstant zu halten und sie dort mit einem Postfix zu versehen, z. B. , 21a
. 21b
Gibt es eine Möglichkeit, das zu tun? Mir gehen die Ideen aus, wo ich überhaupt mit der Suche nach einer solchen Lösung beginnen soll.
(Übrigens: Ich bin nicht auf meine obige Lösung festgelegt. Wenn jemand eine bessere Idee hat, wie man mit häufig wechselnden großen Dokumenten für den Druck umgehen kann, würde ich mich freuen, davon zu hören.)
Antwort1
Um die Zahlen in einem Bereich zu ändern, können Sie Folgendes tun (ich garantiere nicht, dass dadurch nichts kaputt geht):
EDIT: Ich habe die Umgebung verschachtelbar gemacht. Außerdem habe ich die Seitenzahlen von auf geändert, \alph
um \roman
mehr als 26 Unterseiten zu ermöglichen.
\documentclass[]{article}
\usepackage{blindtext}
\makeatletter
\newcount\@subpagescount%
\newenvironment{subpages}{%
\edef\@subpagesprefix{\thepage}%
\@subpagescount=\c@page%
\clearpage%
\edef\thepage{\@subpagesprefix.\noexpand\roman{page}}%
\setcounter{page}{1}%
}{\clearpage\setcounter{page}{\numexpr\@subpagescount+1}}
\makeatother
\begin{document}
\setcounter{page}{21}
\blindtext
\begin{subpages}
First page in not nested \texttt{subpages}
\clearpage
Second page in not nested \texttt{subpages}
\begin{subpages}
\setcounter{page}{26}
First page in nested \texttt{subpages}
\clearpage
Second page in nested \texttt{subpages}
\end{subpages}
After the nested \texttt{subpages}
\end{subpages}
\blindtext
\end{document}
Antwort2
Da Sie die Seitenzahlen nicht ändern möchten, schlage ich vor, die Seitenzahlen von den Rezepten abhängig zu machen. Beispielsweise könnten die Seiten des Rezepts mit , , usw. Carrot cake
nummeriert werden – obwohl die meisten Rezepte wahrscheinlich auf eine Seite passen würden? Sie könnten das „Seitenzahlenpräfix“ wie hier vom Rezept abhängig machen oder es stattdessen auf eine sinnvolle Weise zuweisen.CC1
CC2
Die Seiten im Buch würden in lexikografischer Reihenfolge erscheinen, sodass das Einfügen neuer Seiten und das Auffinden der gesuchten Seite einfach wäre.
Hier ist eine Möglichkeit, diese Idee umzusetzen:
\documentclass{book}
\usepackage{xparse}
\usepackage{blindtext}
\let\realchapter\chapter% save the definition of \chapter for later use
\def\pageprefix{}% prefix for page numbers
\renewcommand\thepage{\pageprefix\arabic{page}}
%\chapter<page prefix>[short title]{title}
\RenewDocumentCommand\chapter{ r<> o m }{%
\IfNoValueTF{#2}{\realchapter{#3}}% without short title
{\realchapter[#2]{#3}}% with short title
\def\pageprefix{#1}\setcounter{page}{1}% reset page counter
}
\begin{document}
\chapter<Pan>{Pancakes}
\Blindtext
\chapter<Om>{Omelettes}
\Blindtext
\chapter<CC>{Carrot cake}
\Blindtext
\end{document}
Der \chapter
Befehl hat jetzt also ein obligatorisches Argument, das das Seitenpräfix festlegt. Die Syntax lautet:
\chapter<page prefix>[short title]{title}
\chapter
Der Kurztitel ist, wie auch der Befehl, optional und kann weggelassen werden.
Eine weitere Variante dieser Idee wäre, die Seiten als aaa, aab, aac, ..., bba, bbb, bbc, ... zu kennzeichnen. Auch dies wäre mit dem obigen Code leicht zu bewerkstelligen, indem die Neudefinition von \thepage
durch
\renewcommand\thepage{\pageprefix\alph{page}}