대용량 문서의 변경된 부분에 대해 특이한 페이지 번호 설정

대용량 문서의 변경된 부분에 대해 특이한 페이지 번호 설정

내 요구 사항요리법 세트로 구성된 요리책을 인쇄하고 있습니다. 그러나 레시피가 자주 업데이트되고 새로운 레시피가 삽입될 예정입니다. 따라서 책의 일부만 변경된 경우 전체 책을 다시 인쇄하는 것을 방지하는 솔루션이 필요합니다.

내 솔루션 초안일부 법률 서적 출판사처럼 처리하는 것입니다. 단일 페이지를 제거하거나 추가하기 위해 열 수 있는 제본을 책에 제공합니다. 이렇게 하면 변경된 페이지와 색인만 인쇄하면 됩니다.

내 문제페이지 번호입니다. 삽입된 부분의 페이지 번호를 일정하게 유지하고 거기에 접미사를 붙이는 솔루션을 검색합니다(예: 21a, ) 21b. 그렇게 할 가능성이 있나요? 나는 그러한 해결책을 찾기 시작할 아이디어가 전혀 없습니다.

(그런데: 나는 위의 솔루션에 고정되어 있지 않습니다. 인쇄용으로 자주 변경되는 큰 문서를 처리하는 더 좋은 아이디어가 있는 사람이 있다면 기꺼이 듣고 싶습니다.)

답변1

범위 내의 숫자를 변경하려면 다음을 수행할 수 있습니다(이로 인해 문제가 발생하지 않을 것이라는 보장은 없습니다).

편집: 환경을 중첩 가능하게 만들었습니다. 또한 26개 이상의 하위 페이지를 허용하도록 \alph페이지 번호를 에서 로 변경했습니다 .\roman

\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}

답변2

페이지 번호를 변경하고 싶지 않으므로 페이지 번호를 레시피에 따라 결정하는 것이 좋습니다. 예를 들어 레시피의 페이지에는 , 등의 Carrot cake번호가 매겨질 수 있습니다 . 하지만 대부분의 레시피는 아마도 한 페이지에 들어갈 것입니다. 이와 같이 레시피에 따라 "페이지 번호 접두사"를 만들거나 대신 합리적인 방법으로 할당할 수 있습니다.CC1CC2

책의 페이지는 사전순으로 표시되므로 새 페이지를 쉽게 삽입하고 원하는 페이지를 찾을 수 있습니다.

이 아이디어를 구현하는 한 가지 방법은 다음과 같습니다.

\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}

따라서 \chapter이제 명령에는 페이지 접두어를 설정하는 필수 인수가 있습니다. 구문은 다음과 같습니다.

\chapter<page prefix>[short title]{title}

명령 의 경우와 마찬가지로 \chapter짧은 제목은 선택 사항이므로 생략할 수 있습니다.

이 아이디어의 또 다른 변형은 페이지에 aaa, aab, aac, ..., bba, bbb, bbc,... 레이블을 지정하는 것입니다. 다시 말하지만, 재정의를 대체하여 위의 코드를 사용하면 이 작업을 쉽게 수행할 수 있습니다. 의\thepage

\renewcommand\thepage{\pageprefix\alph{page}}

관련 정보