对于磁盘来说‘绕圈’的类似物是什么?

对于磁盘来说‘绕圈’的类似物是什么?

示例circle through见第 65 页手册。我还不能将其复制到光盘上。

这不仅仅是一个 MWE,而是tikz故意设计成新的,这样人们就可以指出编码方式的低效之处。例如,声明orig为图像后,我不能在指令中使用吗img

\documentclass{article}
\usepackage{mwe}
\usepackage{xcolor}
\usepackage{tikz}
\usetikzlibrary {calc}

\def\paramfont{\color{white}\sffamily\bfseries}
\def\paramradiusfactor{0.5}
\def\paramlabel{LABEL}
\def\paramradius{5}

\pgfdeclareimage
% [〈options〉]
{orig}{example-image-a.png}

\newsavebox\mybox
\savebox\mybox
{
  \begin{tikzpicture}
    \color{red}
\node[anchor=south west,inner sep=0,opacity=0.1] (img) at (9,9) {\includegraphics[width=\textwidth]{example-image-a}}; % TODO make use of orig
    \coordinate (nw) at (img.north west);
    \coordinate (ne) at (img.north east);
    \coordinate (sw) at (img.south west);
    \coordinate (se) at (img.south east);
    \coordinate (diskcenter) at ($(sw)!0.66!(ne)$);
    \def \diskradius{\paramradius*\paramradiusfactor}
    \coordinate (disklabel) at ($(diskcenter)+(0,\diskradius)$);
    \fill[yellow] (diskcenter) circle [radius=\diskradius]; % ?? through disklabel?
    \node[above] at (disklabel) {\paramfont\selectfont \paramlabel};
  \end{tikzpicture}
}

\begin{document}

\usebox\mybox

\end{document}

在此处输入图片描述

答案1

您仍然可以使用circle through,但需要through事先加载库。然后您可以输入\node[fill=yellow, circle through=(disklabel)] at (diskcenter) {\paramfont\selectfont\paramlabel};例如。

要引用您之前定义的图像,您应该使用\pgfuseimage

Z 已经加载了该xcolor包。你不需要再次加载它(除非你需要在前言中定义一些在加载 Ti 之前需要的东西Z)。

由于您的目标是减少冗余和多余的代码:我删除了它,\color{red}因为它在这个例子中是没用的。此外,您可以直接编写\coordinate (diskcenter) at ($(img.south west)!0.66!(img.north east)$);并跳过坐标的四个定义。至少,您在示例中不使用north westsouth east坐标,因此您可以删除它们。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc, through}

\def\paramfont{\color{white}\sffamily\bfseries}
\def\paramradiusfactor{0.5}
\def\paramlabel{LABEL}
\def\paramradius{5}

\pgfdeclareimage[width=\textwidth]{orig}{example-image-a.png}

\newsavebox\mybox
\savebox\mybox
{
  \begin{tikzpicture}
    \node[anchor=south west,inner sep=0,opacity=0.1] (img) at (9,9) {\pgfuseimage{orig}}; 
    \coordinate (nw) at (img.north west);
    \coordinate (ne) at (img.north east);
    \coordinate (sw) at (img.south west);
    \coordinate (se) at (img.south east);
    \coordinate (diskcenter) at ($(sw)!0.66!(ne)$);
    \def\diskradius{\paramradius*\paramradiusfactor}
    \coordinate (disklabel) at ($(diskcenter)+(0,\diskradius)$);
    \node[fill=yellow, circle through=(disklabel)] at (diskcenter) {\paramfont\selectfont\paramlabel}; 
  \end{tikzpicture}
}

\begin{document}

\usebox\mybox

\end{document}

在此处输入图片描述

相关内容