![한 페이지짜리 문서에서 페이지 번호를 자동으로 제거합니다.](https://rvso.com/image/286331/%ED%95%9C%20%ED%8E%98%EC%9D%B4%EC%A7%80%EC%A7%9C%EB%A6%AC%20%EB%AC%B8%EC%84%9C%EC%97%90%EC%84%9C%20%ED%8E%98%EC%9D%B4%EC%A7%80%20%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%A0%9C%EA%B1%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
나는 한 페이지짜리 문서에 페이지 번호를 넣는 LaTeX의 선택이 문체적으로 이상하다고 생각하므로 그러한 동작을 억제하고 싶습니다. 나는 이전에 이것을 해본 적이 있습니다.수동으로, 하지만 문서가 자신의 길이를 추적할 필요가 없는 것이 더 좋을 것입니다.
질문이 요청되었습니다.~ 전에, 그러나 OP가 선호하는 솔루션은 를 가지고 노는 것인데 \maketitle
, 여기서는 나와 관련이 없습니다. 받아들인답변은 다음에 가야 할 매크로를 생성 하지만, 내가 작성하는 모든 문서에 항상 일부 사용자 정의 매크로를 넣는 것을 기억할 필요가 없도록 \begin{doucument}
내 서문이나 파일에 넣을 수 있는 것이 있는 것이 더 나을 것입니다 ..sty
MWE:
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\lipsum[1] % automatically remove page number in a document with this line
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
답변1
페이지 수를 대략적으로 계산할 수 있는 일부 패키지( totpages
, count1to
, lastpage
, ...)가 있습니다. 이 예에서는 package를 사용합니다 zref-totpages
.
\documentclass{article}
\usepackage{zref-totpages}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{%
\ifnum\ztotpages=1 \else\thepage\fi
}
\begin{document}
\lipsum[1] % automatically remove page number in a document with this line
%\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
두 번의 LaTeX 실행이 필요합니다. 왜냐하면 첫 번째 페이지가 출시될 당시에는 몇 페이지가 나올지 일반적으로 알 수 없기 때문입니다.
\ztotpages
zref
파일에 레이블이 LastPage
yes로 기록되지 않으면 첫 번째 LaTeX 실행에서 0입니다 .aux
.
답변2
제가 올바르게 이해했다면 첫 번째 페이지에서 페이지 번호를 제거하고 헤더는 유지하고 싶으실 것입니다. 이는 기본값과 동일 fancy
하지만 페이지 번호를 지정하지 않고 첫 번째 페이지에만 사용하는 사용자 정의 fancyhdr 스타일을 정의하여 수행할 수 있습니다 . 전체 MWE:
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancypagestyle{mystyle}{
\fancyhf{}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{}
}
\begin{document}
\thispagestyle{mystyle}
\lipsum[1] % automatically remove page number in a document with this line
\pagestyle{fancy}
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
승리! lastpage
및 을 사용하여 자동화 부분이 작동하도록 했습니다 ifthen
. 즉, 문서 길이( 에 의해 결정됨 lastpage
)가 1 페이지를 초과하는지 여부를 확인합니다. 문서가 1페이지인 경우 mystyle
페이지 번호가 있는 곳에 스타일이 사용됩니다. 그러나 문서가 1페이지보다 길면 첫 번째 페이지에서 스타일을 사용 mystyle
하고 다음 페이지에서는 fancy
스타일을 사용하게 됩니다.
\documentclass{article}
\usepackage{lipsum,fancyhdr,ifthen,lastpage}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\fancypagestyle{mystyle}{
\fancyhf{}
\fancyhead[C]{Don't ever remove this header}
\fancyfoot[C]{}
}
\begin{document}
\ifthenelse{\pageref{LastPage}=1}
{
\pagestyle{mystyle}
}
{
\thispagestyle{mystyle}
}
\lipsum[1] % automatically remove page number in a document with this line
\lipsum[1-6] % automatically keep page numbers in a document with this line
\end{document}
이제 유일한 것은 서문에서 사용할 수 없다는 것입니다 ...
답변3
패키지 의 예 lastpage
:
\documentclass{article}
\usepackage{lastpage}
\usepackage{refcount}
\usepackage{etoolbox}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\ifnumcomp{\getpagerefnumber{LastPage}}{>}{2}{}{\fancyfoot{}}
% If document is longer than 2 pages there will be page numeration, if not there will not be.
\lipsum[1] % automatically remove page number in a document with this line
\end{document}
답변4
안녕하세요. 문서 끝부분의 페이지 번호를 테스트해 보겠습니다. 페이지가 하나만 있으면 중앙의 바닥글이 지워지고, 그렇지 않으면 기본값을 변경하지 않고 계속 이동하며 페이지 번호는 그대로 유지됩니다.
\documentclass{article}
\usepackage{lipsum,fancyhdr}
\pagestyle{fancy}
\fancyhead[C]{Don't ever remove this header}
\begin{document}
\lipsum[1]
%\lipsum[1-6] % Turn on/off this line...
\ifnum\thepage=1\fancyfoot[C]{}\fi
\end{document}