如何在新的空白页面上实现横向浮动

如何在新的空白页面上实现横向浮动

我想在新的空白页(没有页眉、页脚和页码)上放置一个横向浮动图形。图形应尽可能宽。标题是否横向并不重要。有什么建议可以实现这一点吗?

\documentclass{scrbook}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\lipsum[1]
\begin{figure}
  \begin{tikzpicture}
    \begin{axis}[width=\linewidth]
     \addplot {x^2};
    \end{axis}
  \end{tikzpicture}
  \caption{Dummy caption}
\end{figure}
\lipsum[2]

\end{document}

答案1

您可以尝试这样的事情:

\documentclass{scrbook}
\usepackage{graphicx}
\usepackage{lipsum,atbegshi}
\usepackage{floatpag}
\usepackage{zref-abspage,zref-user}
\AtBeginShipout{\MyShipoutHook}
\makeatletter
\newlength\oripaperwidth
\oripaperwidth\paperwidth
\newcommand\MyShipoutHook{%
  \ifnum\c@page=\zref@extractdefault{mylargefigure}{abspage}{0}   
    \pdfpagewidth=2\paperwidth\relax
  \else\pdfpagewidth=\oripaperwidth\relax
 \fi}
\makeatother
\begin{document}
\lipsum

\begin{figure}[!p]\zlabel{mylargefigure}
\thisfloatpagestyle{empty}
\linewidth=2.5\linewidth
\rule{\linewidth}{0.9\textheight}
\caption[toc]{\lipsum[1]}
\end{figure}

\lipsum 
\lipsum \lipsum 
\lipsum \lipsum
\end{document}

在此处输入图片描述

答案2

可以改变图形大小/位置的关键因素是

1) 前两个参数\atxy控制横向页码的 x 和 y 位置。

2)规范的width=height=规范axis,决定图的大小。

3)图像向下移动的值作为第一个参数\raisebox

\kern4)将图像左/右移动的最终值。

\documentclass{scrbook}
\usepackage{everypage,pgfplots}
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
 \AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
  \raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{capt-of}% or use the larger `caption` package
\usepackage{lipsum}% dummy text
\begin{document}
\lipsum % Text before
\afterpage{%
    \clearpage% Flush earlier floats (otherwise order might not be correct)
    \thispagestyle{empty}% empty page style (?)
    \atxy{\dimexpr\paperwidth-.3in}{.5\paperheight}{\rotatebox[origin=center]{90}{\thepage}}
    \begin{landscape}% Landscape page
        \centering % Center table
        \setbox2=\vbox{\setbox0=\hbox{%
         \begin{tikzpicture}
           \begin{axis}[width=1.35\linewidth,height=1.3\textheight]
             \addplot {x^2};
           \end{axis}
        \end{tikzpicture}%
        }\ht0=.95\textheight\makebox[\textwidth]{\box0}
        \captionof{table}{Table caption}% Add 'table' caption
        }\ht2=0pt\makebox[\textwidth]{\smash{\raisebox{-80pt}{\box2\kern75pt}}}
    \end{landscape}
    \clearpage% Flush page
}
\lipsum % Text after
\end{document}

在此处输入图片描述

相关内容