¿Alguien podría explicar el espacio en esta tabla?
- ¿Por qué algunos de los cuadros rotados tienen 0, 1, 2 o 3 caracteres separados por la línea de base?
- ¿Por qué hay espacios iniciales/finales en algunos de los cuadros?
No entiendo qué mecanismos controlan estas cosas.
\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}
Respuesta1
Como comenté, para mí tiene sentido. El origen de rotación designado, por ejemplo, abajo a la derecha, del cuadro [original], permanece en la misma posición vertical antes y después de la rotación. La única peculiaridad es que si un cuadro girado terminara con un espacio entre la línea base y el cuadro (como en, por ejemplo, 270 en la parte superior derecha), el cuadro se extiende hasta la línea base, sin reubicación del texto.
Para mostrar lo que quiero decir, he ajustado un poco su MWE para superponer los cuadros sin rotar y rotados, donde el punto de rotación se superpone tanto en la imagen previa como en la posterior.
\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}
Para aclarar, agregué manualmente (fuera de LaTeX) marcas rojas en el origen de la rotación.