带有“侧向”旋转列的表格的 Latex 代码不起作用

带有“侧向”旋转列的表格的 Latex 代码不起作用

该乳胶代码旨在生成一张独立的表格图片。

我有以下乳胶代码,该代码是由 Rstudio 下的 xtable 函数生成并由我封装的(围绕开始/结束表的代码行):

\documentclass[crop=true, varwidth=true]{standalone}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{rotating}
\usepackage{graphicx}
\begin{document}
\setlength\tabcolsep{2pt}
% latex table generated in R 3.3.2 by xtable 1.8-2 package
\begin{table}[ht]
\centering
\begin{tabular}{rlll}
\hline
& \begin{sideways} CA \end{sideways} & \begin{sideways} CB \end{sideways} &     \begin{sideways} CC \end{sideways} \\ 
\hline
RA & 1 & 4 & 7 \\ 
RB & 2 & 5 & 8 \\ 
RC & 3 & 6 & 9 \\ 
\hline
\end{tabular}
\end{table}
\end{document}

我基于 Windows10/Miktex2.9 使用以下两行生成一个 .png 图片:

pdflatex.exe -output-format=dvi ./drugs_cross_tex.tex
dvipng.exe -T tight -D 600 -z 9 -q -o ./drugs_cross_tex.png ./drugs_cross_tex.dvi

不幸的是,生成的 .png 图片不正确,因为 3 列(CA、CB、CC)没有旋转 90 度(但它们向右移动了)。

在此处输入图片描述

这是日志文件: 点击这里下载

谁能告诉我如何让这个乳胶代码正常工作?

答案1

如果你安装了 ImageMagick,那么你可以简单地运行

pdflatex -shell-escape

在文件上

\documentclass[convert={density=1200}]{standalone}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{rotating}
\usepackage{graphicx}
\begin{document}
\setlength\tabcolsep{2pt}
% latex table generated in R 3.3.2 by xtable 1.8-2 package
\begin{tabular}{rlll}
\hline
& \begin{sideways} CA \end{sideways} & 
  \begin{sideways} CB \end{sideways} &     
  \begin{sideways} CC \end{sideways} \\
\hline
RA & 1 & 4 & 7 \\
RB & 2 & 5 & 8 \\
RC & 3 & 6 & 9 \\
\hline
\end{tabular}
\end{document}

(我删除了无用的table环境,所以也是varwidth不必要的。)

这将生成 1200 dpi 的 PNG(使用您喜欢的分辨率)。

阅读手册中的第 4.6.2 节,standalone了解有关 Windows 的一些怪癖。

这是我得到的 PNG

在此处输入图片描述

(我添加了块引用以显示它是透明的)。

答案2

您使用的是sideways,但对于这种情况,这不适合缩进。请使用\rotatebox。如果您希望标题上方留出一点空间,请使用 之类的东西\rotatebox{90}{Title~}

旋转

\documentclass[crop=true, varwidth=true]{standalone}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{rotating}
\usepackage{graphicx}
\begin{document}
\setlength\tabcolsep{2pt}
% latex table generated in R 3.3.2 by xtable 1.8-2 package
\begin{table}[ht]
\centering
\begin{tabular}{rlll}
\hline
& \rotatebox{90}{CA} & \rotatebox{90}{CB} & \rotatebox{90}{CC}\\ 
\hline
RA & 1 & 4 & 7 \\ 
RB & 2 & 5 & 8 \\ 
RC & 3 & 6 & 9 \\ 
\hline
\end{tabular}
\end{table}
\end{document}

相关内容