Por favor, ajude-me a forçar o texto Hola
e o número da página 2
para a margem superior esquerda da página girada no próximo código.
Observação: estou trabalhando com um documento retrato de duas colunas e preciso de uma alteração temporária para um documento paisagem de uma coluna, com o Hola
texto localizado na borda superior esquerda.
Obrigado!
\documentclass[twocolumn]{article}
% Packages for various functionalities
\usepackage{lipsum} % For dummy text; you can remove this in your actual document
\usepackage{graphicx} % For including images
\usepackage{caption} % For captions
\usepackage{authblk} % For author affiliations
\usepackage{longtable} % For long tables
\usepackage{pdflscape} % For landscape pages
\usepackage[margin=1in]{geometry} % Adjust margins as desired
\usepackage{showframe} % To display page borders
\usepackage{geometry} %to change page margins
\geometry{
letterpaper,
left=10mm,
top=10mm,
bottom=10mm,
right=10mm
}
% Title and authors
\title{Your Title Here}
\author[1]{Author One}
\author[2]{Author Two}
\affil[1]{Affiliation One}
\affil[2]{Affiliation Two}
\begin{document}
\maketitle
\section{Introduction}
% ... (Sections and content here)
\begin{landscape}
\newgeometry{margin=2cm, top=2cm, bottom=2cm, left=2cm, right=2cm} % Adjust margins for landscape page
\clearpage %needed for next command
\onecolumn %reset to one column mode
Hola
\clearpage %needed for next command
\twocolumn %reset to two-column mode
\restoregeometry %return to initial page margins
\end{landscape}
\section{Discussion}
% ... (Remaining content here)
\end{document}
O mau resultado atual é assim:
Quero o resultado como o abaixo (à esquerda):
Responder1
Editar na quinta-feira, 4 de janeiro de 2024, 22h24 (UTC +0000):
Problema 1:
EmTeX - LaTeX Stack Exchange Chat Ulrike Fischer apontouisso com \newgeometry
o pacotegeometriavocê precisa aplicar a onecolumn
opção - ao mudar para o modo de uma coluna via \onecolumn
.
Edição 2:
O typeblock é a caixa que contém o texto de uma página do documento. (Nem os cabeçalhos/rodapés, nem as notas de margem.)
Mas no LaTeX nenhum parâmetro/comprimento \typeblockwidth
/ \typeblockheight
é introduzido.
Em vez disso, cada um de \textwidth
e \textheight
deve determinar duas coisas:
Em todo o caso
\textwidth
é determinar a extensão horizontal do typeblock.\textheight
é determinar a extensão vertical do typeblock.
Caso o texto dentro do bloco de texto seja justificado horizontalmente
\textwidth
é também determinar o comprimento máximo das linhas de texto que cabem no bloco de texto.\textheight
é também determinar a quantidade de espaço disponível para colocar linhas de texto umas sobre as outras dentro do bloco de texto.
Caso o texto dentro do bloco de tipo seja justificado verticalmente
\textwidth
é também determinar a quantidade de espaço disponível para colocar linhas de texto umas sobre as outras dentro do bloco de texto.\textheight
é também determinar o comprimento máximo das linhas de texto que cabem no bloco de texto.
Dentro do ambiente landscape
do pacotelscape1 \textheight
é alterado para determinar a quantidade de espaço disponível nos blocos de páginas das páginas, colocando linhas de texto umas sobre as outras, enquanto essas linhas nos blocos de páginas são justificadas verticalmente.
Esta alteração desconsidera o fato de que \textheight
em qualquer caso - não importa se o texto dentro do bloco tipográfico é justificado horizontal ou verticalmente - é necessário determinar a extensão vertical do bloco tipográfico.
Ou seja, enquanto o ambiente landscape
do pacotelscape1 está em vigor, \textheight
não determina mais a extensão vertical do typeblock.
Mas com a rotina \ShowFramePicture
do pacotequadro de exibiçãopara desenhar os quadros assume-se (corretamente, imho) que \textheight
em qualquer caso determina a extensão vertical do bloco de tipo.
Por issolscape A modificação 1 de \textheight
precisa ser desfeita antes de \ShowFramePicture
ocorrer o desenho de um conjunto de quadros.
Então decidi \ShowFramePicture
redefini-lo dentro do landscape
-environment para redefinir \textheight
(apenas) dentro do escopo local que está em vigor ao desenhar os quadros.
1 O pacotepdflscapecarrega internamentelscapee modifica o ambiente landscape
do pacotelscapepara que a cada página enviada para o arquivo .pdf enquanto o ambiente landscape
estiver em vigor, uma diretiva para o visualizador de pdf seja adicionada para exibir na tela esta página girada em um ângulo de 90 graus. Esta diretiva afeta apenas a forma como a página é mostrada na tela do computador/no display usado para visualizar o arquivo .pdf. Na verdade, esta diretiva não afeta o trabalho de composição tipográfica do TeX. Afeta o "trabalho de exibição" do programa usado para visualizar o arquivo PDF. Embora com as páginas compostas e enviadas enquanto o ambiente landscape
estava em vigor, as linhas de texto dos blocos tipográficos são justificadas verticalmente, você não precisa inclinar a cabeça para a esquerda ou para a direita para lê-las na tela/display como essas páginas são exibidos girados em 90 graus para que você possa lê-los olhando para a tela/tela do seu computador da esquerda para a direita.
\documentclass[twocolumn, letterpaper]{article}
% Packages for various functionalities
\usepackage{lipsum} % For dummy text; you can remove this in your actual document
\usepackage{graphicx} % For including images
\usepackage{caption} % For captions
\usepackage{authblk} % For author affiliations
\usepackage{longtable} % For long tables
\usepackage{pdflscape} % For landscape pages
\usepackage{geometry} %to change page margins
\usepackage{showframe} % To display page borders
\geometry{
letterpaper,
left=20mm,
top=20mm,
bottom=20mm,
right=20mm
}
\newcommand\savetextheight{}%
% Title and authors
\title{Your Title Here}
\author[1]{Author One}
\author[2]{Author Two}
\affil[1]{Affiliation One}
\affil[2]{Affiliation Two}
\begin{document}
\maketitle
\section{Introduction}
%... (Sections and content here)
\lipsum[1-8]
\onecolumn %reset to one column mode
\newgeometry{onecolumn, margin=2cm, top=2cm, bottom=2cm, left=2cm, right=2cm}% Adjust margins for landscape page
\edef\savetextheight{\number\textheight\space sp\relax}%
\begin{landscape}%
\makeatletter
\renewcommand\ShowFramePicture{%
\begingroup
% -------------------------------------------------------------------------------------------
% \textheight is modified within the landscape-environment because the box holding the text
% is rotated. But the frames around the text are drawn on the sheet of paper, which during
% typesetting is not rotated (, although pdflscape tells pdf-viewers to display it rotated).
% Thus modification of \textheight is to be undone while drawing the frames:
% -------------------------------------------------------------------------------------------
\textheight=\savetextheight
% -------------------------------------------------------------------------------------------
\ShowFrameColor\linethickness{\ShowFrameLinethickness}%
\AtPageLowerLeft{%
\framebox(\paperwidth,\paperheight){}}%
\AtTextLowerLeft{%
\framebox(\textwidth,\textheight){}}%
\AtTextUpperLeft{%
\put(0,\headsep){%
\framebox(\textwidth,\headheight){}}}%
\AtTextLowerLeft{%
\put(0,-\footskip){%
\line(1,0){\textwidth}}}%
\AtTextLowerLeft{%
\SF@tempdima=\textwidth\advance\SF@tempdima\marginparsep
\if@twoside
\ifodd\c@page\else
\if@mparswitch
\SF@tempdima=-\marginparsep\advance\SF@tempdima-\marginparwidth
\fi
\fi
\fi
\put(\SF@tempdima,0)%
{\framebox(\marginparwidth,\textheight){}}%
}%
\endgroup
}
\makeatother
\noindent Hola \lipsum[1-18]
\clearpage
\lipsum[1-8]
\end{landscape}%
\twocolumn
\restoregeometry %return to initial page margins
\section{Discussion}
% ... (Remaining content here)
\lipsum[1-8]
\end{document}
Responder2
Bem-vindo ao TeX.SE!
O seguinte MWE (Exemplo Mínimo de Trabalho) reproduz sua segunda imagem em questão:
\documentclass[twocolumn]{article}
\usepackage[letterpaper,
margin=1in]{geometry} % Adjust margins as desired
\usepackage{afterpage} % For landscape pages
\usepackage{pdflscape} % For landscape pages
% Packages for various functionalities
\usepackage{lipsum} % For dummy text; you can remove this in your actual document
\usepackage{graphicx} % For including images
\usepackage{caption} % For captions
\usepackage{authblk} % For author affiliations
\usepackage{longtable} % For long tables
% Title and authors
\title{Your Title Here}
\author[1]{Author One}
\author[2]{Author Two}
\affil[1]{Affiliation One}
\affil[2]{Affiliation Two}
\begin{document}
\pagestyle{plain}
\maketitle
\section{Introduction}
\lipsum[1-4]
\afterpage{%
\clearpage
\newgeometry{margin=20mm} % Adjust margins for landscape page
\onecolumn % reset to one column mode
\begin{landscape}
Hola, landscape here!
\lipsum[1-3]
\end{landscape}
\restoregeometry %return to initial page margins
\twocolumn %reset to two-column mode
}% end afterpage
\lipsum[6]
\section{Discussion}
\lipsum[7-13]
\end{document}
Não está totalmente claro onde você gostaria de colocar os números das páginas. Até agora deixei-os como está posicionado por padrão (centralizado no pé).
Nos casos em que você deseja ter o número da página em algum outro lugar, você precisa definir novos estilos de cabeçalho/rodapé, por exemplo com use fancyhdr
package. Por exemplo, para preâmbulo adicionar
\usepackage{fancyhdr}
\fancypagestyle{LandScape}%
{%
\fancyhf{}%
\fancyhead[L]{\thepage}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
e antes \begin{landscape}
na inserção do corpo do documento
\pagestyle{LandScape}
O estilo da página resultante é:
Editar:
- Não está claro por que você define
\newgeometry
quando ele tem as mesmas configurações da geometria de outras páginas do documento (orientado para retrato). Nesses casos eu não usaria, ou seja, no seu caso eu simplesmente abandonaria. - Se desenhar quadros de layout de página corretamente em todas as páginas é sua principal preocupação, você deve seguir a solução proposta por @Ulrich Diez (+1).
- Sua solução, adotada em minha resposta original, com um código um pouco modificado é mostrada no seguinte MWE:
\documentclass[twocolumn]{article}
\usepackage[letterpaper,
margin=1in]{geometry} % Adjust margins as desired
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.5pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum} % For dummy text; in actual document
% you can/should remove it
\newcommand\savetextheight{}%
\edef\savetextheight{\number\textheight\space sp\relax}%
\makeatletter%
\renewcommand\ShowFramePicture{%
\textheight=\savetextheight
%---------------------------------------------------------------%
\ShowFrameColor\linethickness{\ShowFrameLinethickness}%
\AtTextLowerLeft{% text box
\framebox(\textwidth,\textheight){}}%
\AtTextUpperLeft{% page header
\put(0,\headsep){%
\framebox(\textwidth,\headheight){}}}%
\AtTextLowerLeft{% page margin
\put(0,-\footskip){%
\line(1,0){\textwidth}}}%
\AtTextLowerLeft{% when document is twoside
\SF@tempdima=\textwidth\advance\SF@tempdima\marginparsep
\if@twoside
\ifodd\c@page\else
\if@mparswitch
\SF@tempdima=-\marginparsep\advance\SF@tempdima-\marginparwidth
\fi
\fi
\fi
\put(\SF@tempdima,0)%
{\framebox(\marginparwidth,\textheight){}}%
}% end of twoside
}% end of \renewcommand
\makeatother
% Packages for various functionalities
\usepackage{afterpage} % For remove empty space on page before
% landscape page with text after it
\usepackage{pdflscape} % For landscape pages
\usepackage{graphicx} % For including images
\usepackage{caption} % For captions
\usepackage{authblk} % For author affiliations
\usepackage{longtable} % For long tables
% Title and authors
\title{Your Title Here}
\author[1]{Author One}
\author[2]{Author Two}
\affil[1]{Affiliation One}
\affil[2]{Affiliation Two}
%---------------------------------------------------------------%
\begin{document}
\maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
\lipsum[1-4]
\afterpage{%
\clearpage
\onecolumn % reset to one column mode
\begin{landscape}%
Hola, landscape here!
\lipsum[1-2]
\begin{longtable}[htb]{|p{\dimexpr\textwidth-2\tabcolsep}|}
\caption{Longtable: width = \texttt{textwidth}} \\
\hline
\lipsum[66] \\
\hline
\end{longtable}
\begin{longtable}[htb]{|p{\dimexpr\textheight-2\tabcolsep}|}
\caption{Longtable: width = \texttt{textheight}} \\
\hline
\lipsum[66] \\
\hline
\end{longtable}
\begin{longtable}[htb]{|p{\dimexpr\linewidth-2\tabcolsep}|}
\caption{Longtable: width = \texttt{linewidth}} \\
\hline
\lipsum[66] \\
\hline
\end{longtable}
\end{landscape}%
\twocolumn
}% end \afterpage
\section{Discussion}
\lipsum[1-8]
\end{document}