平均能量损失

平均能量损失

假设我有一个矩形的坐标(x,y,高度,宽度或 2 个点)。

现在我想让文本居中水平/垂直旋转 自动地,同时牢记文本属性(例如字体大小/粗体)。

当然,我可以手动进行此操作(反复试验),但是如果框发生变化(并且框实际上是从纸张尺寸/边距/等得出的),我应该再次手动执行此操作。

此框仅用于“调试”目的。最后应该能够移除/使框不可见。

MWE +截图:

\documentclass{book}
\usepackage{tikz}
\begin{document}
\def\X{4}
\def\Y{4}
\def\WIDTH{2}
\def\HEIGHT{15}
\begin{tikzpicture}
% "debug" box
\draw (\X,\Y) -- (\X+\WIDTH,\Y) -- (\X+\WIDTH,\Y+\HEIGHT) -- (\X,\Y+\HEIGHT) -- (\X,\Y);
% How to get this automatically centered vertically/horizontally in the box?
\node[rotate=270,font=\bf] at (\X, \Y)   (a) {\Huge center horz/vert in box?};
\end{tikzpicture}
\end{document}

该 MWE 产生:

在此处输入图片描述

答案1

为什么这么复杂?只需放置一个节点,用来draw在其周围绘制矩形,或省略它以删除矩形。

平均能量损失

\documentclass{book}
\usepackage{tikz}
\begin{document}
\def\X{4}%
\def\Y{4}%
\def\WIDTH{2}%
\def\HEIGHT{15}%
\begin{tikzpicture}
  \node[draw, rotate=270, minimum height=\WIDTH cm, minimum width=\HEIGHT cm] at (\X, \Y) {\bfseries\Huge Centered text in box};
\end{tikzpicture}
\end{document}

结果

在此处输入图片描述

答案2

以下示例将节点放置在矩形的中间,而不是矩形的左下角。节点的锚点就放在那里,也就是节点的中心:

\documentclass{book}
\usepackage{tikz}
\begin{document}
\def\X{4}
\def\Y{4}
\def\WIDTH{2}
\def\HEIGHT{15}
\begin{tikzpicture}
  % "debug" box
  \draw (\X,\Y) rectangle (\X+\WIDTH,\Y+\HEIGHT);

  \path
    (\X, \Y) --
    node[
      rotate=270,
      anchor=center,
      font=\bfseries\Huge,
    ] {Centered text in box}
    (\X + \WIDTH, \Y + \HEIGHT)
  ;
\end{tikzpicture}
\end{document}

结果

相关内容