tufte-book:我无法正确显示横向图形

tufte-book:我无法正确显示横向图形

我需要在 tufte-book 乳胶文档中以横向模式显示图形。

但是,我无法正确显示它。似乎边距位于下方。例如,尝试

\documentclass{tufte-book}

\usepackage[]{graphicx}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{pdflscape}

\begin{document}

\lipsum

\begin{landscape}
    \lipsum
    \begin{figure*}
        \centering
        \includegraphics[]{example-image}
        \caption{Test.}
    \end{figure*}
    \lipsum
\end{landscape}

\lipsum

\end{document}

如果我使用figure而不是figure*,渲染效果会更好,但也不是那样。

还有一个问题:如何让 showframe 变成横向的?

我想执行一些类似的几何修改,但它也不起作用。

\documentclass{tufte-book}

\usepackage{geometry}

\usepackage[]{graphicx}
\usepackage{showframe}
\usepackage{pdflscape}
\usepackage{lipsum}


\begin{document}

\lipsum

\newgeometry{asymmetric,
   a4paper, 
   left=24.8mm, top=27.4mm, 
   headsep=2\baselineskip,
   textwidth=49\baselineskip, marginparsep=8.2mm, marginparwidth=49.4mm, 
   textheight=107mm, headheight=\baselineskip}
\begin{landscape}
    \lipsum
    \begin{figure*}
        \centering
        \includegraphics[width=0.8\textwidth]{example-image}
        \caption{Test.}
    \end{figure*}
    \lipsum
\end{landscape}
\restoregeometry

\lipsum

\end{document}

有人有解决方案吗?

答案1

好的,我找到了。

showframe首先,我同意这不是当前的问题,但是在使用时你不能信任pdflscape

其次,我使用了:

  • afterpage等待新页面出现后再请求横向图片(否则会剪切文本),
  • newgeometry修改边距的长度,
  • pdflscape旋转图形。

最终的 MWE 为:

\documentclass{tufte-book}

\usepackage{lipsum}
\usepackage{graphicx}

\usepackage{geometry}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{environ}

\def\mylandscapebody#1{%
    \afterpage{%%
        \newgeometry{
            asymmetric,
            a4paper,
            left=24.8mm, top=27.4mm, 
            headsep=2\baselineskip,
            textwidth=156.4mm, % 107mm + 49.4mm
            textheight=183.5mm, % 49\baselineskip (241.1mm) - 49.4mm 
            marginparsep=8.2mm, marginparwidth=49.4mm, 
            headheight=\baselineskip}
        \begin{landscape}
            \thispagestyle{empty} %% Remove header and footer.
            #1%
        \end{landscape}
        \restoregeometry%
    }%
}

\NewEnviron{mylandscape}{%%
    \expandafter\mylandscapebody\expandafter{\BODY}%%
}


\begin{document}

\lipsum

\begin{mylandscape}
    \begin{figure*}
        \centering
        \includegraphics[width=0.8\textwidth]{example-image}
        \caption{Test.}
    \end{figure*}
    Bla Bla \dotfill \marginpar{test \dotfill}
\end{mylandscape}

\lipsum

\end{document}

还剩下两个问题:

  1. 我应该微调几何长度,特别是我不知道到底该怎么pdflscape做。
  2. 好像不能放进\parmylandscape
  3. 我快速测试了一下,但看起来边缘并不对称。
  4. 由于横向页面是在输出一页后立即生成的,因此请注意图 1.5 不在图 1.4 之前:s

最后两个问题不适合我,因为我只想显示一个图形。但我应该注意问题#4。

相关内容