我正在尝试将页面上的图形旋转 90 度。我正在使用:
\usepackage{rotating}
然后我的图形代码如下所示:
\begin{sidewaysfigure*}[ht]
\centering
\begin{tabular}{@{}cc@{}}
\includegraphics[width=120mm]{c1713_a_vm.png} &
\includegraphics[width=120mm]{c1713_b_vm.png}
\end{tabular}
\caption{figure caption}
\label{fig_label}
\end{sidewaysfigure*}
这样产生的图形似乎紧贴左侧,并且缺少一半的标题。我想将其水平居中(如您所见),但我不知道该怎么做。
我发现了类似的问题这里,显然这里的问题在于“mn2e”文档类(用于天体物理学期刊)。我没有使用该类,但我正在使用另一个天体物理学期刊的类(“emulateapj”),这似乎有点巧合!建议的补救措施是:
\RequirePackage{rotating}
在 \documentclass 指令之前。但是当我尝试这样做时,它并没有解决我的问题,并且我得到了以下错误:
*** BUG ***
In pixman_region32_init_rect: Invalid rectangle passed
Set a breakpoint on '_pixman_log_error' to debug
梅威瑟:
\documentclass{emulateapj}
\newcommand{\vdag}{(v)^\dagger}
\newcommand\aastex{AAS\TeX}
\newcommand\latex{La\TeX}
\usepackage{amsmath,mathtools,etoolbox}
\usepackage{longtable}
\usepackage{float}
\usepackage{tabularx,colortbl}
\usepackage{adjustbox}\usepackage{mathtools}
\usepackage{array}
\usepackage{makecell}
\usepackage{stackengine}
\setstackEOL{\cr}
\usepackage[table]{xcolor}
\usepackage{adjustbox}
\usepackage{rotating}
\begin{document}
\begin{sidewaysfigure*}[ht]
\centering
\begin{tabular}{@{}cc@{}}
\includegraphics[width=120mm]{1713_a_vm.png} &
\includegraphics[width=120mm]{1713_b_vm.png}
\end{tabular}
\caption{Figure caption figure caption figure caption.}
\label{1713_vm}
\end{sidewaysfigure*}
\end{document}
答案1
的默认格式apj
是twocolumn
。可以使用类选项 将其设置为一列\documentclass[onecolumn]{emulateapj}
。实际上,如果选择了这个类选项,则两个图形在页面上水平居中。
带星号的变体sidewaysfigure*
旨在将sidewaysfigure
环境从两列切换到一列。但是,如果将默认类选项设置为twocolumn
,则横向表格仍位于两列页面的第一列(左列)。
\onecolumngrid
通过在环境前调用可以强制执行一列sidewaystable
。我还更改sidewaysfigure*
为,sidewaystable*
因为您要将表格而不是图形放在横向环境中。
您可以通过添加和使用来获取Figure
标题的前缀。请注意,无法从包中使用。加载标题包会产生许多错误,可能是由于与类文件内部发生的事情发生冲突。\usepackage{capt-of}
\captionof{figure}{my caption}
\captionof
caption
emulateapj
这是结果,showframe
添加了geometry
显示定位的选项:
这是 MWE:
\documentclass{emulateapj}
\newcommand{\vdag}{(v)^\dagger}
\newcommand\aastex{AAS\TeX}
\newcommand\latex{La\TeX}
\usepackage{amsmath,mathtools,etoolbox}
\usepackage[showframe]{geometry}
\usepackage{rotating}
%\usepackage{longtable}
%\usepackage{caption}
%\usepackage{float}
\usepackage{capt-of}
\usepackage{tabularx,colortbl}
\usepackage{mathtools}
\usepackage{array}
\usepackage{makecell}
\usepackage{stackengine}
\setstackEOL{\cr}
\usepackage[table]{xcolor}
\begin{document}
\onecolumngrid
\begin{sidewaystable*}
\begin{tabular}{@{}cc@{}}
\includegraphics[width=0.45\textheight]{example-image-a} &
\includegraphics[width=0.45\textheight]{example-image-a}
\end{tabular}
\captionof{figure}{ caption figure caption figure caption.}
\label{1713_vm}
\end{sidewaystable*}
\end{document}
答案2
您可以尝试不sidewaysfigure
只是使用 tikz 包,如下所示:
\documentclass[12pt]{article}
\usepackage{tikz}
\usepackage{blindtext}
\usepackage{caption}
\begin{document}
\pagebreak
\thispagestyle{empty}
\begin{tikzpicture}
\node[rotate=-90] at (0,0) {\begin{minipage}{0.98\textheight}
\begin{center}
I'd like to rotate this page
\end{center}
\blindtext
\centering
\includegraphics[width=0.3\textwidth]{example-image-a}
\captionof{figure}{Test caption}
\end{minipage}};
\end{tikzpicture}
\end{document}
你也可以在这里看到我的回答:https://tex.stackexchange.com/a/392793/120578 如果你也想旋转 pdf 页面