
A4 文書に横向きの A3 ページがありますが、コードの記述方法によっては空白ページが必要になるか、前のページも横向きになります。
誰かアドバイスをくれませんか?
また、このページをページ番号にカウントしないようにする簡単な方法はありますか?
どうもありがとう!
\documentclass[titlepage,a4paper,12pt]{book}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{lscape}
\begin{itemize}
\item Carbon dioxide;
\item Temperature changes;
\item Global ice volume.
\end{itemize}
\begingroup
\pdfpagewidth=2\pdfpagewidth
\noindent%\makebox[0pt][l]{%
\pagestyle{empty}
\begin{landscape}
\begin{figure}[ht]
\centering
\includegraphics[width=0.95\linewidth]{BigFig.jpg}
\label{fig:locations}
\caption{TEXT}
\end{figure}
\end{landscape}
\endgroup
\end{document}
答え1
本当に必要なのは、ページにフロートを配置するのではなく、ページ全体をフロートとして機能させることだと私は思いました。
余白の変更は思ったより困難でした。KOMA はこの問題については不明瞭で、ジオメトリは \newpage を強制します。自分ですべてのパラメータをリセットしても、\centering や \vfill などは機能しません。\vbox を使用して \vfill を機能させたり、\hbox を使用して \hfill を機能させたりしましたが、両方を同時にはできませんでした。
\NewEnviron を使用しようとしましたが、\BODY と \afterpage は連携しません。最後に、ページ番号を次のページに表示することができず、結局、オーバーレイするだけになってしまいました。
\documentclass{article}
\usepackage{geometry}
\usepackage{afterpage}
\usepackage{caption}% for \captionof
\usepackage{mwe}% for example-image (also loads lipsum and graphicx)
\newlength{\oldpaperheight}
\newlength{\oldpaperwidth}
\newcommand{\writepagenumber}%
{\raisebox{\dimexpr -\textheight-\footskip}[0pt][0pt]{\rlap{\makebox[\textwidth]{\thepage}}}}
\newcommand{\pagefloat}[2][1cm]% #1 = margin size (optional), #2 = contents
{\afterpage{%
\savegeometry{current}%
\thispagestyle{empty}%
\paperwidth=42cm
\eject \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight
\topmargin=#1
\advance\topmargin by -1in
\headheight=0pt
\headsep=0pt
\oddsidemargin=#1
\advance\oddsidemargin by -1in
\evensidemargin=\oddsidemargin
\linewidth=\paperwidth
\advance\linewidth by -#1
\advance\linewidth by -#1
\textheight=\paperheight
\advance\textheight by -#1
\advance\textheight by -#1
\textwidth=\linewidth% technically not in landscape
\noindent\vbox to \textheight{#2}%
\paperwidth=21cm
\eject \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight
\loadgeometry{current}% automatic \newpage
\addtocounter{page}{-1}
\noindent\null\writepagenumber
}}
\begin{document}
\pagefloat{%
\rule{\linewidth}{1pt}\vfill\par% show top of text area
\makebox[\linewidth][c]{\includegraphics[height=0.9\textheight]{example-image}}
\captionof{figure}{example image}
\vfill\par\rule{\linewidth}{1pt}% show bottom of text area
}
\lipsum[1-16]
\end{document}
答え2
これは、同様の質問を見て私が行った方法です (どの質問だったかは覚えていませんが、誰かが認識している場合は、クレジットを付けてください)。
\usepackage{lscape} %allow certain pages to be formatted in landscape orientation
\usepackage[paper=A4,pagesize]{typearea}
\usepackage{afterpage}
\begin{document}
\afterpage{% Insert after the current page
\clearpage
\KOMAoptions{paper=A3,paper=landscape,pagesize}
\recalctypearea
%put stuff on A3 lanscape page here
\clearpage
\KOMAoptions{paper=A4,pagesize}
\recalctypearea
}
\pagebreak
ページ番号については、を使用して\setcounter{page}{1}
異なるページのページカウンタをリセットできます(たとえば、目次の後からのみカウントを開始するなど)。ページを見逃す方法がわかりませんが、どこかに確認できるかもしれません。