Seite isolieren, um die Kopfzeile auszuschalten

Seite isolieren, um die Kopfzeile auszuschalten

Ich habe in meinem gesamten Dokument auf jeder Seite Überschriften \usepackage{fancyhdr}, die ich auf bestimmten Seiten mit großen Abbildungen deaktivieren möchte. Wenn ich \thispagestyle{empty}es richtig verwende, wird die Überschrift entfernt, aber nur auf einer zufälligen Seite. Ich dachte, ich könnte den Effekt auf die richtige Seite anwenden, indem ich \newpagedirekt vor meine Abbildung setze und dann verwende \thispagestyle{empty}, aber das Ergebnis ist immer noch dasselbe. Muss ich nur für die Abbildung eine neue erstellen .texoder gibt es einen einfacheren Weg, dies zu tun?

In meinem main.texDokument habe ich \begin{document}, und dann \pagestyle{fancy}, \fancyfoot{}, \lhead{\thepage}, \rhead{\nouppercase{\rightmark}}, gefolgt von verschiedenen .texDokumenten. Wenn ich mir ein bestimmtes .texDokument anschaue, habe ich viel Text mit Grafiken wie folgt eingefügt:

\begin{figure}
\centering
\hbox{\hspace{-15mm} \includegraphics[scale=0.9]{my-image}}
\caption{my caption}
\label{myfigure}
\end{figure}

Ich habe versucht, „ \newpagegefolgt von“ \thispagestyle{empty}direkt vor das Bild zu setzen, aber es wird auf die falsche Seite angewendet. Ich habe es auch \clearpagewie in den Kommentaren vorgeschlagen versucht, aber das Gleiche ist passiert.

Antwort1

\documentclassDies scheint zu funktionieren (obwohl wir Ihre oder andere Lösungen nach dem Prinzip „Versuch und Irrtum“ nicht kennen ):

Bildbeschreibung hier eingebenBildbeschreibung hier eingeben

\documentclass{article}

\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lipsum} % For text

\begin{filecontents}[overwrite]{chapter1.tex}
    \clearpage
    \thispagestyle{empty}
    \begin{figure}[p]
    \centering
    \hbox{\hspace{-15mm} \includegraphics[scale=0.9]{example-image-a}}
    \caption{my caption}
    \label{myfigure}
    \end{figure}
\end{filecontents}

\fancyhead{}
\fancyfoot{}
\fancyhead[L]{\thepage}
\fancyhead[R]{\nouppercase{\rightmark}}
\renewcommand{\headrulewidth}{0pt}

\pagestyle{fancy}

\begin{document}

\section{Test}
\lipsum[1-8]

\include{chapter1}

\lipsum[1-8]

\end{document}

Die darin enthaltenen Teile filecontentssind nur ein Beispiel für eine Ihrer .texDateien, die ich erstellt habe.


Um die Seitenzahl auf der [p]Seite einzufügen, verwenden Sie Folgendes:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lipsum} % For text

\begin{filecontents}[overwrite]{chapter1.tex}
    \clearpage
    \thispagestyle{floatp}
    \begin{figure}[p]
    \centering
    \hbox{\hspace{-15mm} \includegraphics[scale=0.9]{example-image-a}}
    \caption{my caption}
    \label{myfigure}
    \end{figure}
\end{filecontents}

\fancyhead{}
\fancyfoot{}
\fancyhead[L]{\thepage}
\fancyhead[R]{\nouppercase{\rightmark}}
\renewcommand{\headrulewidth}{0pt}

% ------------ Added
\fancypagestyle{floatp}{%redefining plain pagestyle
    \fancyfoot{}
    \fancyhead{}
    \fancyfoot[R]{\thepage}         % Page number in bottom right
}

\pagestyle{fancy}

\begin{document}

\section{Test}
\lipsum[1-8]

\include{chapter1}

\lipsum[1-8]

\end{document}

Antwort2

Und wie wäre es mit \floatpagestyle{empty}der Verwendung nur [p]für große Schwimmkörper?

Siehe auch \rotfloatpagestyleund \thisfloatpagestyle im Handbuch des floatpagPakets.

Beachten Sie auch, dass fancyhdrbietet \iffloatpage{Wert für Float-Seite}{Wert für andere Seiten}.

\documentclass[twoside]{article}
\usepackage{graphicx}
\usepackage{floatpag}\floatpagestyle{empty}
\usepackage{lipsum}
\usepackage{fancyhdr}
\pagestyle{fancy}
\begin{document}
\section{foo1}\subsection{foo}\lipsum[1]
\section{foo}\subsection{foo}\lipsum[1]
\section{foo}\subsection{foo}\lipsum[1-2]
\begin{figure}[h]\includegraphics[]{example-image-9x16}\caption{foo}\end{figure}
\section{foo}\subsection{foo}\lipsum[1]
\begin{figure}[p]\centering\includegraphics[]{example-image-9x16}\caption{foo}\end{figure}
\section{foo}\subsection{foo}\lipsum[1]
\section{foo}\subsection{foo}\lipsum[1]
\end{document}

Antwort3

Sie müssen die Anweisung \pagestyle{empty}nach der Seite erteilen, bevor die Seite mit der Abbildung versendet wird.

  • Mit einer aktuellen LaTeX-Version können Sie den Hook verwenden, shipout/afterum Code auszuführen, nachdem LaTeX eine Seite ausgeliefert hat. (Gemäß den \changes-Einträgen inltshipout.dtxdieser Hook wurde am 8. Januar 2021 hinzugefügt.)

  • Sie können das Paket verwendenzrefzum Speichern und Abrufen des Werts der sogenannten „absoluten Seitenzahl“ der Seite, auf der LaTeX die betreffende Abbildung platziert.

  • Zusätzlich können Sie ein Makro definieren \CodeAfterShipoutOfAbsolutePage, in dem Sie eine absolute Seitenzahl und etwas Code angeben können, sodass Anweisungen an den Hook angehängt werden, shipout/afterum den Code erst nach dem Versand der Seite auszuführen, deren absolute Seitenzahl den angegebenen Wert hat.

  • Im folgenden Beispiel kann die absolute Seitenzahl angegeben werden, indem TeX Berechnungen durchführt, die den Zugriff auf ein zref-Label beinhalten können. Daher \CodeAfterShipoutOfAbsolutePagewerden im folgenden Beispiel nicht nur zwei, sondern drei Argumente verwendet, von denen eines eine durch Kommas getrennte Liste von zlabels bezeichnet, die definiert sein müssen, damit die Angabe der absoluten Seitenzahl funktioniert. Wenn eines dieser zlabels nicht definiert ist, wie es in jedem Fall bei der ersten Kompilierung der Fall ist, wird der Code auch nicht ausgeführt.

    !!Es sind also mindestens zwei Zusammenstellungen nötig, damit alles zusammenpasst. !!

Die Syntax \CodeAfterShipoutOfAbsolutePagelautet also:

\CodeAfterShipoutOfAbsolutePage
  {<comma-list of zref-labels that must exist for the code to be carried out>%
    % Here you specify both those zref-labels that are needed for the
    % <expression for computing the absolute page number of the page after 
    % whose shipping-out code shall be carried out> to work out and probably
    % also those zref-labels that are needed for the <code to carry out after
    % the page has been shipped out> to work out.
  }%
  {<expression for computing the absolute page number of the page after 
    whose shipping-out code shall be carried out>}%
  {<code to carry out after the page has been shipped out>%
    % Be aware that you cannot use this for adding visible material
    % or glue to a page. You can use this only for doing abstract actions
    % like calculations or directives like `\thispagestyle{...}`.
  }%

Hier kommt ein minimales funktionierendes Beispiel.
Im Beispiel shipout/afterwird der Hook verwendet.
Entsprechend den \changes-Einträgen inltshipout.dtxdieser Hook wurde am 8. Januar 2021 hinzugefügt.
Das Beispiel funktioniert also definitiv nicht mit LaTeX-Versionen vor dem 8. Januar 2021, aber mit solchen früheren LaTeX-Versionen erhalten Sie keine Fehlermeldungen!
Dies liegt daran, dass die Zuweisung von Code zu einem Hook, der im Sinne einer nicht implementierten Verwendung nicht existiert, keine Warn- oder Fehlermeldungen auslöst. Das Beispiel funktioniert z. B. mit TeX Live 2022. Es ist also kompilierbar z. B. mitUmseitigwenn im Menü von Overleaf TeX Live 2022 ausgewählt ist.

\NeedsTeXFormat{LaTeX2e}[2021/01/08]
% (According to \changes-entry in ltshipout.dtx the hook
%  shipout/after  was added in January 8, 2021.)
\makeatletter
\RequirePackage[abspage]{zref}
\ExplSyntaxOn
%...............................................................................
% Save the  value of abspage-counter to a zref-label:
%...............................................................................
\cs_new_protected:Npn \saveabspage #1 {\zref@labelbyprops{#1}{abspage}}
%...............................................................................
% Obtain the saved abspage-counter-value from zref-label if possible, otherwise
% deliver -1:
%...............................................................................
\cs_new_protected:Npn \getabspage #1 {\zref@extractdefault{#1}{abspage}{-1}}
%...............................................................................
% Map over comma-list #1 denoting zref-labels and execute code #2 in case all of
% them are defined, otherwise execute code #3; this is for doing calculations 
% with zref-labels which can only be done in case all of them are defined:
%...............................................................................
\cs_new:Npn \CheckWhetherAllZlabelsDefined #1 
  {
    \exp:w
      \clist_map_function:nN {#1} \mystuff_checkzlabel:nwnn
      \exp_after:wN\exp_end:\use_i:nn
  }
\cs_new:Npn \mystuff_checkzlabel:nwnn #1#2 \exp_after:wN\exp_end:\use_i:nn #3#4
  {
    \int_compare:nNnTF {\getabspage{#1}}={-1}
      {#2 \exp_after:wN\exp_end:\use_i:nn {#4}}
      {#2 \exp_after:wN\exp_end:\use_i:nn {#3}}{#4}%
  }
%...............................................................................
% Map over comma-list denoting zref-labels and generate warning for each 
% undefined zref-label:
%...............................................................................
\cs_new_protected:Npn \WarnForUndefinedZlabels #1
  {
    \clist_map_function:nN {#1}\zref@refused
  }
%...............................................................................
% Provide code to execute on background-picture-environment of page whose
% absolute page number is to be specified:
%...............................................................................
\cs_new_protected:Npn \CodeAfterShipoutOfAbsolutePage#1#2#3{ 
  % #1 = comma-list of zref-labels that must exist for the code (#3) to be 
  %      carried out.
  % #2 = expression for computing the absolute page number of the page 
  %      after whose shipout the code #3 shall be carried out:
  % #3 = code to carry out after shipping out the specified page
  \AddToHook{shipout/after}{
    \WarnForUndefinedZlabels{#1}
    \int_compare:nNnT {\CheckWhetherAllZlabelsDefined{#1}{#2}{-1}}
                      =
                      {\value{abspage}}
                      {#3}
  }
}
\ExplSyntaxOff
\makeatother



\documentclass{article}
\usepackage{lipsum}
\pagestyle{headings}

\CodeAfterShipoutOfAbsolutePage{Some ABS label}%
                               {\getabspage{Some ABS label}-1}%
                               {\thispagestyle{empty}}%

\begin{document}
\section{Some headings}
\subsection{Some more headings}
\lipsum{1-2}
\begin{figure}
\noindent\rule{\textwidth}{.6\textheight}
\caption{Some figure}\saveabspage{Some ABS label}
\end{figure}
\lipsum{3-18}
\end{document}

Bildbeschreibung hier eingeben

(Ein Nachteil besteht darin, dass Sie dies nicht zum Ändern der ersten Seite verwenden können, da es davor keine Seite gibt, nach deren Versand Dinge erledigt werden könnten.)

verwandte Informationen