我们汇总并考虑了来自各个主题的评论,从而形成了以下实现。
\documentclass{article}%
\usepackage{afterpage}%
\usepackage{pdflscape}%
\usepackage{varioref}%
\usepackage{graphicx}%
\usepackage{capt-of}%
%
\newcommand\floatsummary{}%
\newcommand\floatdescription{}%
\begin{document}
\section{Introduction}
An introduction...
\section{Results}
Results are shown in Figure \vref{fig:example}
%
\afterpage{%
\begin{landscape}%
\pagestyle{empty}
\parbox[c][\textwidth][s]{\linewidth}{%
%
\renewcommand\floatsummary{Short float summary which will appear in toc}%
\renewcommand\floatdescription{Longer float description}%
%
\vfill%
\setlength{\fboxrule}{0pt}%
\begin{center}%
\fbox{%
\centering%
\includegraphics[width=\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax]{example-image.jpg}\\%
}%
\end{center}%
\captionof{figure}[\floatsummary]{\floatsummary. \floatdescription}%
\vfill%
}%
\label{fig:example}%
\end{landscape}%
}%
\end{document}
关键且理想的特征包括:
- 平衡定位
- 最大限度地利用页面
- 旋转横向页面
.pdf
- 避免图表前后出现空白页
- 避免在显示两个或多个连续的横向图形时出现空白页
.pdf
当编译时出现几个错误时,插入的 mwe 确实会导致出现问题。问题是,是什么原因导致的! LaTeX Error: Something's wrong--perhaps a missing \item.
,如何优化/改进 mwe?
答案1
此版本尽可能简化了代码。
我认为 的目的是\newcommand
保留全局名称。对于本地定义,我使用\def
。
在行尾添加的目的%
是为了避免多余的空格。只有当行以括号结尾时才需要添加,但并不总是如此。例如,\caption
以 开头和结尾的\par
可以吸收多余的空格。
\documentclass{article}%
\usepackage{afterpage}%
\usepackage{pdflscape}%
\usepackage{varioref}%
\usepackage{graphicx}%
\usepackage{capt-of}%
\begin{document}
\section{Introduction}
An introduction...
\section{Results}
Results are shown in Figure \vref{fig:example}
%
\afterpage{%
\begin{landscape}%
\pagestyle{empty}
\parbox[c][\textwidth][c]{\linewidth}{%
%
\def\floatsummary{Short float summary which will appear in toc}% local to environment
\def\floatdescription{Longer float description}%
%
\centering
\includegraphics[width=\linewidth]{example-image.jpg}
\captionof{figure}[\floatsummary]{\floatsummary. \floatdescription}
\label{fig:example}% \@currentlabel etc. is local to \parbox
}% end of \parbox
\end{landscape}%
}%
\end{document}