使用 LateX 制作带标签的 3D 盒子

使用 LateX 制作带标签的 3D 盒子

我是 LateX 中 TikZ 的新手。我想制作下图。这是我尝试过的:

\documentclass[]{article}

\usepackage{tikz}

\usetikzlibrary{3d}

\begin{document}

\begin{tikzpicture}

  \pgfmathsetmacro{\cubex}{2}

  \pgfmathsetmacro{\cubey}{2.5}

  \pgfmathsetmacro{\cubez}{2}

  \draw [every edge/.append style={densely dashed, opacity=1.5}]

    (0,0,0) coordinate (o) -- ++(-\cubex,0,0) coordinate (a) -- ++(0,-\cubey,0) coordinate (b) edge coordinate [pos=1] (g) ++(0,0,-\cubez)  -- ++(\cubex,0,0) coordinate (c) -- cycle
            (o) -- ++(0,0,-\cubez) coordinate (d) -- ++(0,-\cubey,0) coordinate (e) edge (g) -- (c) -- cycle
            (o) -- (a) -- ++(0,0,-\cubez) coordinate (f) edge (g) -- (d) -- cycle;
  \end{tikzpicture}
\end{document}

我不知道该把标签的 \node 命令放在哪里。有人能帮我吗?

在此处输入图片描述

答案1

node您只需在相应的延伸处放置 s 即可为现有路径添加标签。

\documentclass[]{article}
\usepackage{tikz}
% \usetikzlibrary{3d} %<- not used here
\begin{document}
\begin{tikzpicture}[nodes={text=blue,circle}]
\pgfmathsetmacro{\cubex}{2}
\pgfmathsetmacro{\cubey}{2.5}
\pgfmathsetmacro{\cubez}{2}
\draw [every edge/.append style={densely dashed, opacity=1}]
  (0,0,0) coordinate (o) -- ++(-\cubex,0,0) coordinate (a) -- node[left]{$h$}
  ++(0,-\cubey,0) coordinate (b) edge coordinate [pos=1] (g) 
  ++(0,0,-\cubez)  -- node[below]{$L$} ++(\cubex,0,0) coordinate (c) -- cycle
  (o) -- ++(0,0,-\cubez) coordinate (d) --  ++(0,-\cubey,0) coordinate (e) edge (g) 
  -- (c) -- cycle
  (o) -- (a) -- ++(0,0,-\cubez) coordinate (f) edge (g) -- (d) -- cycle
  (c) -- node[below right]{$W$}   ++(0,0,-\cubez);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容