테이블 형식 환경에서 회전 상자의 간격

테이블 형식 환경에서 회전 상자의 간격

누군가 이 표의 간격을 설명해 줄 수 있나요?

  • 회전된 상자 중 일부에 기준선으로 구분된 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 외부)를 추가했습니다.

여기에 이미지 설명을 입력하세요

관련 정보