Bitte helfen Sie mir, im nächsten Code den Text Hola
und die Seitenzahl 2
in den oberen linken Rand der gedrehten Seite zu zwingen.
Hinweis: Ich arbeite mit einem zweispaltigen Hochformatdokument und benötige vorübergehend eine Änderung in ein einspaltiges Querformat, wobei sich der Hola
Text am oberen linken Rand befindet.
Danke!
\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}
Das aktuelle schlechte Ergebnis sieht wie folgt aus:
Ich möchte ein Ergebnis wie das unten (links):
Antwort1
Bearbeitung am Donnerstag, 4. Januar 2024, 22:24 Uhr (UTC +0000):
Fehler 1:
InTeX - LaTeX Stack Exchange Chat Ulrike Fischer wies darauf hindass mit \newgeometry
dem PaketGeometrieSie müssen die onecolumn
-Option anwenden, obwohl Sie über in den Ein-Spalten-Modus wechseln \onecolumn
.
Problem 2:
Der Typblock ist das Feld, das den Text einer Seite des Dokuments enthält. (Nicht die Kopf-/Fußzeilen, nicht die Randnotizen.)
Aber in LaTeX werden keine Parameter/Längen \typeblockwidth
/ \typeblockheight
eingeführt.
Stattdessen soll jedes von \textwidth
und \textheight
zwei Dinge bestimmen:
In jedem Fall
\textwidth
dient dazu, die horizontale Ausdehnung des Typeblocks zu bestimmen.\textheight
dient dazu, die vertikale Ausdehnung des Typeblocks zu bestimmen.
Wenn der Text im Typeblock horizontal ausgerichtet ist
\textwidth
dient auch dazu, die maximale Länge der Textzeilen zu bestimmen, die in den Typeblock passen.\textheight
dient außerdem dazu, den verfügbaren Platz zum Übereinanderplatzieren von Textzeilen innerhalb des Typblocks festzulegen.
Wenn der Text im Typeblock vertikal ausgerichtet ist
\textwidth
dient außerdem dazu, den verfügbaren Platz zum Übereinanderplatzieren von Textzeilen innerhalb des Typblocks festzulegen.\textheight
dient auch dazu, die maximale Länge der Textzeilen zu bestimmen, die in den Typeblock passen.
Innerhalb der Umgebung landscape
des PaketsLandschaft1 \textheight
wird geändert, um den Platz zu bestimmen, der innerhalb der Seitentypenblöcke zum Übereinanderplatzieren von Textzeilen zur Verfügung steht, während diese Zeilen innerhalb der Seitentypenblöcke vertikal ausgerichtet sind.
Bei dieser Änderung wird nicht berücksichtigt, dass \textheight
in jedem Fall - unabhängig davon, ob Text innerhalb des Typeblocks horizontal oder vertikal ausgerichtet ist - die vertikale Ausdehnung des Typeblocks zu bestimmen ist.
D. h., während die Umgebung landscape
des PaketsLandschaft1 ist wirksam und \textheight
bestimmt nicht mehr die vertikale Ausdehnung des Typblocks.
Aber mit der Routine \ShowFramePicture
des PaketsSchaurahmenbeim Zeichnen der Rahmen wird (meiner Meinung nach richtigerweise) davon ausgegangen, dass diese \textheight
in jedem Fall die vertikale Ausdehnung des Typeblocks bestimmen.
DaherLandschaftDie erste Änderung von \textheight
muss rückgängig gemacht werden, bevor ein Satz von Frames \ShowFramePicture
über gezeichnet werden kann.
Daher habe ich mich für \ShowFramePicture
eine Neudefinition innerhalb der landscape
-Umgebung entschieden, um (nur) innerhalb des lokalen Bereichs zurückzusetzen \textheight
, der beim Zeichnen der Frames wirksam ist.
1 Das Paketpdflscapeinterne BelastungenLandschaftund ändert die Umgebung landscape
des PaketsLandschaftso dass zu jeder Seite, die an die .pdf-Datei gesendet wird, während die Umgebung landscape
aktiv ist, eine Anweisung für den PDF-Viewer hinzugefügt wird, diese Seite um einen Winkel von 90 Grad gedreht auf dem Bildschirm anzuzeigen. Diese Anweisung beeinflusst nur, wie die Seite auf dem Computerbildschirm/auf dem Display angezeigt wird, das zum Anzeigen der .pdf-Datei verwendet wird. Diese Anweisung beeinflusst eigentlich nicht die Satzarbeit von TeX. Sie beeinflusst die „Anzeigearbeit“ des Programms, das zum Anzeigen der .pdf-Datei verwendet wird. Obwohl bei Seiten, die gesetzt und gesendet werden, während die Umgebung landscape
aktiv ist, die Textzeilen der Schriftblöcke vertikal ausgerichtet sind, müssen Sie Ihren Kopf nicht nach links oder rechts neigen, um sie auf dem Bildschirm/Display zu lesen, da diese Seiten um 90 Grad gedreht angezeigt werden, sodass Sie sie lesen können, indem Sie von links nach rechts auf den Bildschirm/das Display Ihres Computers schauen.
\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}
Antwort2
Willkommen bei TeX.SE!
Das folgende MWE (Minimal Working Example) reproduziert Ihr zweites fragliches Bild:
\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}
Es ist nicht ganz klar, wo man Seitenzahlen haben möchte. Bisher habe ich sie so gelassen, wie sie standardmäßig positioniert sind (mittig im Fuß).
In Fällen, in denen Sie die Seitenzahl an einer anderen Stelle haben möchten, müssen Sie neue Kopf-/Fußzeilenstile definieren, beispielsweise mit use fancyhdr
package. Fügen Sie beispielsweise in die Präambel Folgendes hinzu:
\usepackage{fancyhdr}
\fancypagestyle{LandScape}%
{%
\fancyhf{}%
\fancyhead[L]{\thepage}%
\renewcommand{\headrulewidth}{0pt}%
\renewcommand{\footrulewidth}{0pt}%
}
und davor \begin{landscape}
in den Dokumenttext einfügen
\pagestyle{LandScape}
Der resultierende Seitenstil ist:
Bearbeiten:
- Es ist nicht klar, warum Sie es definieren,
\newgeometry
wenn es dieselben Einstellungen wie die Geometrie anderer Dokumentseiten (im Hochformat) hat. In solchen Fällen würde ich es nicht verwenden, d. h. in Ihrem Fall würde ich es einfach weglassen. - Wenn das korrekte Zeichnen von Seitenlayoutrahmen auf allen Seiten Ihr Hauptanliegen ist, sollten Sie sich an die von @Ulrich Diez vorgeschlagene Lösung (+1) halten.
- Seine Lösung, die an meine ursprüngliche Antwort angepasst wurde, mit leicht verändertem Code, wird im folgenden MWE gezeigt:
\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}