Isole a página para desativar o cabeçalho

Isole a página para desativar o cabeçalho

Tenho cabeçalhos em cada página \usepackage{fancyhdr}em todo o documento, que desejo desativar em determinadas páginas com números grandes. Se eu usar \thispagestyle{empty}corretamente, remove o cabeçalho, mas apenas em uma página aleatória. Achei que poderia aplicar o efeito à página correta colocando \newpagelogo antes da minha figura e depois usando \thispagestyle{empty}, mas o resultado ainda é o mesmo. Tenho que criar um novo .texsó para a figura ou existe uma maneira mais fácil de fazer isso?

No meu main.texdocumento eu tenho , e \begin{document}então \pagestyle{fancy},,,,, seguido por vários \fancyfoot{}documentos . Olhando para um documento específico, tenho muito texto com gráficos inseridos da seguinte forma:\lhead{\thepage}\rhead{\nouppercase{\rightmark}}.tex.tex

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

Tentei colocar \newpageseguido de \thispagestyle{empty}logo antes da imagem, mas aplica na página errada. Também tentei \clearpageconforme sugerido nos comentários, mas aconteceu a mesma coisa.

Responder1

Isso parece funcionar (embora não conheçamos suas \documentclasssoluções de tentativa e erro ou muito mais):

insira a descrição da imagem aquiinsira a descrição da imagem aqui

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

As partes filecontentssão apenas um exemplo de um dos .texarquivos que criei.


Para colocar o número da página na [p]página, use isto:

insira a descrição da imagem aqui

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

Responder2

E usar \floatpagestyle{empty}apenas [p]para carros alegóricos grandes?

Veja também \rotfloatpagestylee \thisfloatpagestyle no manual da floatpagembalagem.

Observe também que fancyhdrfornece \iffloatpage{valor para página flutuante}{valor para outras páginas}.

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

Responder3

Você precisa que a diretiva \pagestyle{empty}seja emitida após a página anterior à página que contém a figura ser enviada.

  • Com uma versão recente do LaTeX, você pode usar o gancho shipout/afterpara executar o código logo após o LaTeX enviar alguma página. (De acordo com as \changesentradas emltshipout.dtxesse gancho foi adicionado em 8 de janeiro de 2021.)

  • Você pode usar o pacotezrefpara armazenar e recuperar o valor do chamado "número absoluto da página" da página onde o LaTeX está colocando a figura em questão.

  • Além disso, você pode definir uma macro \CodeAfterShipoutOfAbsolutePageonde pode especificar um número absoluto de página e algum código para que as diretivas sejam anexadas ao gancho shipout/afterpara executar o código somente após o envio da página cujo número absoluto de página possui o valor especificado.

  • No exemplo abaixo, o número absoluto da página pode ser especificado fazendo com que o TeX faça cálculos que podem envolver o acesso a um rótulo zref. Portanto, no exemplo abaixo, \CodeAfterShipoutOfAbsolutePagenão são necessários apenas dois argumentos, mas três argumentos, um deles denotando uma lista separada por vírgula de zlabels que devem ser definidos para que a especificação do número absoluto da página funcione. Se um desses zlabels não estiver definido, como acontece na 1ª compilação, o código também não será executado.

    !! Assim, são necessárias pelo menos duas compilações para que tudo corresponda. !!

Então a sintaxe de \CodeAfterShipoutOfAbsolutePageé:

\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{...}`.
  }%

Aí vem um exemplo mínimo de trabalho.
No exemplo, o gancho shipout/afteré usado.
De acordo com as \changesentradas emltshipout.dtxesse gancho foi adicionado em 8 de janeiro de 2021.
Portanto, o exemplo definitivamente não funciona com versões do LaTeX anteriores a 8 de janeiro de 2021, mas com versões anteriores do LaTeX você não recebe mensagens de erro!
Isso ocorre porque atribuir código a um gancho que não existe no sentido de seu uso não ser implementado não aciona mensagens de aviso ou de erro. O exemplo funciona, por exemplo, com TeX Live 2022. Portanto, é compilável, por exemplo, comNo versose no menu do Overleaf TeX Live 2022 estiver selecionado.

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

insira a descrição da imagem aqui

(Uma desvantagem é que você não pode usar isso para modificar a primeira página porque não haverá uma página anterior a essa, após cujo envio as coisas possam ser feitas.)

informação relacionada