この表の間隔について誰か説明してもらえますか?
- 回転したボックスの一部に、ベースラインで区切られた 0、1、2、または 3 文字が含まれるのはなぜですか?
- 一部のボックスに先頭/末尾にスペースがあるのはなぜですか?
これらを制御するメカニズムが何なのか分かりません。
\documentclass{article}
\usepackage{array}
\usepackage{rotating}
\renewcommand{\arraystretch}{0}%
\setlength{\fboxsep}{0pt}%
\newcommand{\testBox}[2]{%
\setlength{\fboxsep}{0pt}%
\fboxrule=.1pt%
\fbox{%
\rotatebox[origin=#1]{#2}%
{#1 #2}%
}%
}
\begin{document}
\noindent
\tt
\begin{tabular}%
{@{}|llll|llll|llll|@{}}%
\hline%
\rlap{\rule{211pt}{.1pt}}%
\testBox{rt}{090}&%
\testBox{rb}{090}&%
\testBox{rt}{270}&%
\testBox{rb}{270}&%
%
\testBox{ct}{090}&%
\testBox{cb}{090}&%
\testBox{ct}{270}&%
\testBox{cb}{270}&%
%
\testBox{lt}{090}&%
\testBox{lb}{090}&%
\testBox{lt}{270}&%
\testBox{lb}{270}\\%
\hline%
\end{tabular}
\end{document}
答え1
私がコメントしたように、それは私にとっては理にかなっています。[元の] ボックスの指定された回転原点 (たとえば、右下) は、回転の前後で同じ垂直位置のままです。唯一の奇妙な点は、回転したボックスのベースラインとボックスの間にギャップができてしまう場合 (たとえば、右上 270 など)、テキストの位置を変更せずにボックスがベースラインまで拡張されることです。
私が言いたいことを示すために、回転前の画像と回転後の画像の両方で回転ポイントが重なるように、MWE を多少調整して、回転していないボックスと回転したボックスを重ね合わせました。
\documentclass{article}
\usepackage{array}
\usepackage{rotating}
\renewcommand{\arraystretch}{0}%
\setlength{\fboxsep}{0pt}%
\newcommand{\testBox}[3][0]{%
\setlength{\fboxsep}{0pt}%
\fboxrule=.1pt%
\setbox0=\hbox{\fbox{#2 #3}}%
\fbox{%
{#2 #3}%
}\kern-\wd0%
\rlap{\makebox[\dimexpr\wd0+#1\ht0][r]{\fbox{%
\rotatebox[origin=#2]{#3}%
{#2 #3}%
}}}%
\kern\wd0%
}
\begin{document}
\noindent
\tt
\leavevmode\rlap{\rule{211pt}{.1pt}}
\testBox[1]{rt}{090}\quad
\testBox{rb}{090}\quad
\testBox{rt}{270}\quad
\testBox[1]{rb}{270}
\renewcommand{\testBox}[3][0]{%
\setlength{\fboxsep}{0pt}%
\fboxrule=.1pt%
\setbox0=\hbox{\fbox{#2 #3}}%
\fbox{%
{#2 #3}%
}\kern-\wd0%
\rlap{\makebox[\dimexpr\wd0+#1\ht0][c]{\fbox{%
\rotatebox[origin=#2]{#3}%
{#2 #3}%
}}}%
\kern\wd0%
}
\leavevmode\rlap{\rule{211pt}{.1pt}}
\testBox[1]{ct}{090}\quad
\testBox[-1]{cb}{090}\quad
\testBox[-1]{ct}{270}\quad
\testBox[1]{cb}{270}
\renewcommand{\testBox}[3][0]{%
\setlength{\fboxsep}{0pt}%
\fboxrule=.1pt%
\setbox0=\hbox{\fbox{#2 #3}}%
\fbox{%
{#2 #3}%
}\kern-\dimexpr\wd0+#1\ht0\relax%
\rlap{\makebox[\wd0][l]{\fbox{%
\rotatebox[origin=#2]{#3}%
{#2 #3}%
}}}%
\kern+\dimexpr\wd0+#1\ht0\relax%%
}
\leavevmode\rlap{\rule{211pt}{.1pt}}
\testBox{lt}{090}\quad
\testBox[1]{lb}{090}\quad
\testBox[1]{lt}{270}\quad
\testBox{lb}{270}
\end{document}
わかりやすくするために、回転の原点に赤いマークを手動で(LaTeX の外部で)追加しました。