graphicx,\rotatebox 회전 원점은 상자가 회전하지 않았을 때 끝나는 주변 상자 내의 동일한 위치에 있습니다.

graphicx,\rotatebox 회전 원점은 상자가 회전하지 않았을 때 끝나는 주변 상자 내의 동일한 위치에 있습니다.

설명을 위해 테이블 ​​내에 일부 텍스트가 포함된 상자가 참조점을 중심으로 회전하는 셀이 있는 mwe를 만들었습니다.

왼쪽과 오른쪽 열에는 동일한 내용이 포함되어 있습니다. 오른쪽 열에는 원래 상자의 참조점과 회전으로 인한 상자의 측정값을 볼 수 있도록 일부 직사각형이 추가로 포함되어 있습니다.

두 번째 행을 보면 \rotateboxgraphicx 패키지의 명령이 회전 결과를 상자에 래핑하는 것 같습니다.

- 명령으로 전달된 상자를 주변 상자에 배치할 때 \rotatebox회전된 회전 원점이 상자가 회전되지 않은 경우 끝나는 위치와 동일한 위치에 있게 되기를 바랍니다. 아래 예제를 컴파일한 결과의 세 번째 행에서 볼 수 있듯이. (아래 mwe에서 "주변 상자"는 테이블 형식 환경에서 생성된 테이블 셀의 내용을 담고 있는 상자입니다.)

상자의 참조점을 중심으로 시계 반대 방향으로 45도 각도로 회전이 수행되는 특별한 경우를 선택했기 때문에 쉽게 계산할 수 있는 왼쪽으로의 "수동" 이동/커닝이 필요했습니다.

그러나 회전된 회전 원점을 상자가 회전하지 않은 경우 끝나는 주변 상자 내의 동일한 위치에 있도록 하기 위해 grfguide에서 설명할 수 있는 덜 번거로운 방법을 간과했는지 여전히 궁금합니다. (아래 mwe에서 "주변 상자"는 테이블 형식 환경에서 생성된 테이블 셀의 내용을 담고 있는 상자입니다.)

(사물을 계산하기 위해 \phantom너비/높이/깊이가 0인 상자에 포장된 회전 및 비회전 s로 좌표를 저장하기 위한 tikzpicture를 보관할 수 있지만 읽을 때 간과했던 작업을 수행하는 쉬운 방법이 있는지 궁금합니다. grfguide.)

\documentclass{article}
\usepackage{graphicx, xcolor}

\ExplSyntaxOn\cs_new_eq:NN \fpeval \fp_eval:n\ExplSyntaxOff

\newbox\boxtorotate

\newlength\scratchy
\newcommand\Osepfbox[1]{{%
  \scratchy=\fboxsep
  \colorlet{saved}{.}%
  \fboxsep=-\fboxrule
  \color{lightgray}%
  \fbox{\fboxsep=\scratchy\color{saved}#1}%
}}%

\newcommand*\referencepointbox{%
  \hbox{%
    {%
      \color{lightgray}%
      \kern-\fboxrule \kern-\fboxsep \kern-.2pt
      \vbox{%
        \hbox{%
          \fbox{\vrule height 0.2pt depth 0.2pt width 0.4pt}%
        }%
        \kern-\prevdepth
      }%
      \kern-\fboxrule \kern-\fboxsep \kern-0.2pt
    }%
    \copy\boxtorotate
  }%
}%

\newcommand*\noreferencepointbox{\hbox{\copy\boxtorotate}}

\begin{document}

\setbox\boxtorotate=\hbox{Some text}

\begin{tabular}{|l|l|}
\hline&\\
\rlap{\noreferencepointbox}\rotatebox[x=0pt, y=0pt]{0}{\noreferencepointbox}&
\rlap{\referencepointbox}\Osepfbox{\rotatebox[x=0pt, y=0pt]{0}{\referencepointbox}}%
\\&\\
\hline&\\
\rlap{\noreferencepointbox}\rotatebox[x=0pt, y=0pt]{45}{\noreferencepointbox}&
\rlap{\referencepointbox}\Osepfbox{\rotatebox[x=0pt, y=0pt]{45}{\referencepointbox}}%
\\&\\
\hline&\\
\rlap{\noreferencepointbox}%
\kern-\fpeval{sqrt((\ht\boxtorotate)*(\ht\boxtorotate)*0.5)}pt 
\rotatebox[x=0pt, y=0pt]{45}{\noreferencepointbox}&
\rlap{\referencepointbox}%
\kern-\fpeval{sqrt((\ht\boxtorotate)*(\ht\boxtorotate)*0.5)}pt
\Osepfbox{\rotatebox[x=0pt, y=0pt]{45}{\referencepointbox}}%
\\&\\
\hline
\end{tabular}

\end{document}

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

관련 정보