我正在使用amsart
article 类,我想将保存在单独子文件中的两个图片并排放置在一个横向页面上。但是,图片没有居中,所有内容都略微向右对齐。这是一个最小的工作示例,显示了哪里出了问题:
% saved as "forSE"
\documentclass[10pt,reqno,oneside,a4paper]{amsart}
\usepackage{geometry}
\usepackage{subfiles}
\usepackage{pdflscape}
\title{Test title}
\begin{document}
\maketitle
\begin{landscape}
\begin{figure}
\centering
\begin{minipage}{.5\textwidth}
\centering
\subfile{forSEfig}
\caption{caption 1}
\label{fig:label}
\end{minipage}%
\begin{minipage}{.5\textwidth}
\centering
\subfile{forSEfig}
\caption{caption 2}
\label{fig:label2}
\end{minipage}
\end{figure}
\end{landscape}
\end{document}
%%%%%%%%%%%%%%%%%%%%%
% saved as "forSEfig"
\documentclass[forSE]{subfiles}
\begin{document}
\scalebox{50}{?}
\end{document}
答案1
好吧,如果我理解正确的话,你必须将你的更改为\begin{minipage}{.5\textwidth}
,\begin{minipage}{.5\textheight}
因为你使用了环境landscape
。这意味着现在文档的给定文本高度将成为新打字区域的宽度......
我在下面的 mwe 中向您展示了它(请参见我\fbox
在您的子文件中添加了一个命令来可视化图像,并添加了选项showframe
以geometry
可视化生成的打字区域):
\RequirePackage{filecontents}
\begin{filecontents}{\jobname-fig.tex}
\documentclass[forSE]{subfiles}
\begin{document}
\fbox{\scalebox{50}{?}}% <=========================================
\end{document}
\end{filecontents}
\documentclass[10pt,reqno,oneside,a4paper]{amsart}
\usepackage[showframe]{geometry}% <=========================================
\usepackage{subfiles}
\usepackage{pdflscape}
\title{Test title}
\begin{document}
\maketitle
\begin{landscape}
\begin{figure}
\centering
\begin{minipage}{.5\textheight}% <=========================================
\centering
\subfile{\jobname-fig}% <=========================================
\caption{caption 1}
\label{fig:label}
\end{minipage}%
\begin{minipage}{.5\textheight}%textwidth
\centering
\subfile{\jobname-fig}% forSEfig
\caption{caption 2}
\label{fig:label2}
\end{minipage}
\end{figure}
\end{landscape}
\end{document}
请注意,该包filecontents
仅用于将子文件和 tex 代码一起放在一个编译 MWE 中(因此我重命名了所调用的子文件)。
您将得到结果:
请与下面的标题页(旋转90度)进行比较: