テーブルが広すぎるので回転したいのですが、 を使用せざるを得ない\documentclass[11pt,a4paper]{article}
ので、それを変更する解決策ではない多くのパッケージはページ全体を回転させますが、私はテーブルだけを回転させたいのです。
使用しなければならないテーブルのデザイン サンプルがあります。Tex コードでは、これが最初のテーブルです。
2 番目のスニペットは、テーブルを回転させる方法です。ただし、テーブルに必要なキャプションがありません。
3番目のスニペットは私が実際に欲しいものですが、私は を取得していますLaTeX Error: Not in outer par mode
。同様の質問を見つけましたキャプション付きのテーブルを回転します: "外部 PAR モードではありません。\begin{table}[h]"しかし、回答では sidewaystable を使用したソリューションが提供されましたが、これは私のケースでは単純に醜いものでした。回転したテーブルが 1 ページ全体を占めてしまうからです。
\documentclass[11pt,a4paper]{article}
\usepackage[graphicx]{realboxes}
\usepackage{verbatim}
\begin{document}
\begin{table}[htb]
\begin{center}
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}
\hline
\bf Some text & \rotatebox{90}{column 1 } & \rotatebox{90}{column 2} & \rotatebox{90}{column 3 } & \rotatebox{90}{column 4 } & \rotatebox{90}{column 5 } & \rotatebox{90}{column 6 } & \rotatebox{90}{column 7} & \rotatebox{90}{column 8 } & \rotatebox{90}{column 9 } & \rotatebox{90}{column 10 } & \rotatebox{90}{column 11 } & \rotatebox{90}{column 12} & \rotatebox{90}{column 13 } & \rotatebox{90}{column 14 } & \rotatebox{90}{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{center}
\caption{My caption lorem ipsum}\label{tab_aaa}
\end{table}
%rotated
\rotatebox{90}{
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}
\hline
\bf Some text & \rotatebox{90}{column 1 } & \rotatebox{90}{column 2} & \rotatebox{90}{column 3 } & \rotatebox{90}{column 4 } & \rotatebox{90}{column 5 } & \rotatebox{90}{column 6 } & \rotatebox{90}{column 7} & \rotatebox{90}{column 8 } & \rotatebox{90}{column 9 } & \rotatebox{90}{column 10 } & \rotatebox{90}{column 11 } & \rotatebox{90}{column 12} & \rotatebox{90}{column 13 } & \rotatebox{90}{column 14 } & \rotatebox{90}{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\
\hline
\end{tabular}
}
\begin{comment}
%% what i want
\rotatebox{90}{
\begin{table}[htb]
\begin{center}
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}
\hline
\bf Some text & \rotatebox{90}{column 1 } & \rotatebox{90}{column 2} & \rotatebox{90}{column 3 } & \rotatebox{90}{column 4 } & \rotatebox{90}{column 5 } & \rotatebox{90}{column 6 } & \rotatebox{90}{column 7} & \rotatebox{90}{column 8 } & \rotatebox{90}{column 9 } & \rotatebox{90}{column 10 } & \rotatebox{90}{column 11 } & \rotatebox{90}{column 12} & \rotatebox{90}{column 13 } & \rotatebox{90}{column 14 } & \rotatebox{90}{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\
\hline
\end{tabular}
\end{center}
\caption{My caption lorem ipsum}\label{tab_b}
\end{table}
}
\end{comment}
\end{document}
2 番目のスニペットにキャプションを追加するにはどうすればよいですか?
答え1
表はかなり大きく、いずれにしても 1 ページを占めると思いますので、sidewaystable がおそらく最善の解決策です。ただし、表とキャプションをミニページまたは可変幅ボックスに配置して回転させることもできます。
\documentclass[11pt,a4paper]{article}
\usepackage[graphicx]{realboxes}
\usepackage{varwidth}
\begin{document}
%% what i want
\begin{table}[htb]
\centering
\rotatebox{90}{%
\begin{varwidth}{\textheight}
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}
\hline
\bfseries Some text & \rotatebox{90}{column 1 } & \rotatebox{90}{column 2} & \rotatebox{90}{column 3 } & \rotatebox{90}{column 4 } & \rotatebox{90}{column 5 } & \rotatebox{90}{column 6 } & \rotatebox{90}{column 7} & \rotatebox{90}{column 8 } & \rotatebox{90}{column 9 } & \rotatebox{90}{column 10 } & \rotatebox{90}{column 11 } & \rotatebox{90}{column 12} & \rotatebox{90}{column 13 } & \rotatebox{90}{column 14 } & \rotatebox{90}{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\ \hline
\end{tabular}
\caption{My caption lorem ipsum}\label{tab_b}
\end{varwidth}}
\end{table}
For the table see \ref{tab_b}
\end{document}
注意: \bf ではなく、代わりに \bfseries を使用してください。
答え2
\documentclass[11pt,a4paper]{article}
\usepackage{hvfloat}
\def\RB#1{\rotatebox{90}{#1}}
\begin{document}
\hvFloat[%
floatPos=!htb,
capWidth=h,% of \columnwidth
capPos=r,
objectAngle=90,
capAngle=90,
objectPos=l % l c r
]{table}{%
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}\hline
\bf Some text & \RB{column 1 } & \RB{column 2} & \RB{column 3 } & \RB{column 4 } & \RB{column 5 } & \RB{column 6 } & \RB{column 7} & \RB{column 8 } & \RB{column 9 } & \RB{column 10 } & \RB{column 11 } & \RB{column 12} & \RB{column 13 } & \RB{column 14 } & \RB{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\
\hline
\end{tabular}
}%
[Centered Caption beside Object] % TOC entry
{Caption vertically centered right beside the float with a caption
width of \texttt{0.5\textbackslash columnwidth} and \texttt{%
floatcapsep=5pt} (the default)}
{fig:2}% label
\end{document}
答え3
パッケージを使用するのが最も簡単だとわかりました。この例ではありませんが、roatfloat
これも役立ちます。sidewaystable
\documentclass[11pt,a4paper]{article}
\usepackage{rotfloat}
\usepackage{varwidth}
\begin{document}
For the table see \ref{tab_a}
\begin{table}[H]
\centering
\rotatebox{90}{%
\begin{varwidth}{\textheight}
\begin{tabular}{|l|c|c|c|c|c||c|c|c|c|c||c|c|c|c|c|}
\hline
\bfseries Some text & \rotatebox{90}{column 1 } & \rotatebox{90}{column 2} & \rotatebox{90}{column 3 } & \rotatebox{90}{column 4 } & \rotatebox{90}{column 5 } & \rotatebox{90}{column 6 } & \rotatebox{90}{column 7} & \rotatebox{90}{column 8 } & \rotatebox{90}{column 9 } & \rotatebox{90}{column 10 } & \rotatebox{90}{column 11 } & \rotatebox{90}{column 12} & \rotatebox{90}{column 13 } & \rotatebox{90}{column 14 } & \rotatebox{90}{column 15 }\\
\hline \hline
first row lorem ipsum & 692 & 535 & 85 & 48 & 24 & 692 & 535 & 85 & 48 & 24 & 2 & 3 & 3 & 4 & 5 \\ \hline
\end{tabular}
\caption{My caption lorem ipsum}\label{tab_a}
\end{varwidth}}
\end{table}
Another reference see \ref{tab_a}
\end{document}