旋转字母

旋转字母

我想旋转一个字母,比如说 B,以显示其反射或反转对称性,甚至以顺时针或逆时针任意角度旋转。使用命令而不绘制图片是否可行?我可以使用\usepackage{rotating}表格吗?我使用了代码\begin{rotate}{180}B\end{rotate}。这会将 B 旋转为行的下标。有没有什么想法可以让它与其他字符对齐?

答案1

使用该graphicx包,您可以按如下方式进行操作:\rotatebox[origin=c]{180}{B}

这将围绕字母的中心旋转。您也可以围绕其他点旋转:\rotatebox[origin=tr]{180}{B}将围绕框的右上方旋转。请参阅第 8 页这个文件所有相关选项。

根据 egreg 指出的内容,您可能需要将\raisebox结果置于基线上:

\documentclass{scrartcl}
\usepackage{graphicx}
\newcommand\testletter[1]{
  \begin{tabular}{rl}
    Rotate: & #1\rotatebox{180}{#1}\hspace{-1em}\rule{1em}{0.5pt}\\
    Rotate and raise: & #1\raisebox{\depth}{\rotatebox{180}{#1}}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate around centre: & #1\rotatebox[origin=c]{180}{#1}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate around centre and raise: & #1\raisebox{\depth}{\rotatebox[origin=c]{180}{#1}}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate (120): & #1\rotatebox{120}{#1}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate (120) around centre: & #1\rotatebox[origin=c]{120}{#1}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate (120) and raise: & #1\raisebox{\depth}{\rotatebox{120}{#1}}\hspace{-1em}\rule{1em}{0.5pt} \\
    Rotate (120) around centre and raise: & #1\raisebox{\depth}{\rotatebox[origin=c]{120}{#1}}\hspace{-1em}\rule{1em}{0.5pt}
  \end{tabular}
}
\begin{document}
\testletter{B}

\testletter{g}

\testletter{f}
\end{document}

该规则只是为了显示基线在哪里。

再次出现分歧

如您所见,raisebox 仅对带有降部(g、y、j 等)的字母产生影响。至于您更喜欢哪一个,则取决于您的个人喜好。(此外,同时执行围绕中心旋转和 raise 似乎毫无意义。执行其中一个或另一个就足够了,具体取决于您想要的结果...

答案2

如果你还需要反射,请使用\reflectbox{B};你可能还需要在使用\raisebox时旋转字母\rotatebox,例如

\raisebox{\depth}{\rotatebox[origin=c]{120}{B}}

会使旋转后的“B”位于基线上。三种调用方式有区别

B\rotatebox{120}{B}B
B\rotatebox[origin=c]{120}{B}B
B\raisebox{\depth}{\rotatebox[origin=c]{120}{B}}B

选择最适合您的那个。可以\depth乘以一个因子;您也可以使用\height和,\totalheight就像 LaTeX 框的惯例一样。

答案3

带包装rotatinggraphicx

B\rotatebox[origin=c]{180}{B}

相关内容