如何创建一个内部有平行线的矩形?

如何创建一个内部有平行线的矩形?

如何创建具有平行线的矩形?

在此处输入图片描述

答案1

类似这样。解决方案定义一个特定大小的矩形。然后分别绘制两条线。绘制完线后,在两条线上放置一个矩形节点,用于[anchor=north west] at (x,y)叠加在两条线上。如果线很长,请调整最小宽度=4cm。

在此处输入图片描述

编辑:受到下面命令中 Ignasi 的启发,以下两种方法也可以实现相同的目的。非常感谢

代码

方法一:使用 fit

\documentclass[varwidth,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{fit,backgrounds}

\tikzset{
s/.style={
  draw, rectangle, minimum height=3cm, minimum width=5cm,
  },
}
\begin{document}
\begin{tikzpicture}[
%    show background rectangle, 
]
\draw (0,0) --node[midway,below](a){$\rho_1,\nu_1$} (3,0);
\draw (0,-1) --node[midway,below](b){$\rho_2,\nu_2$} (3,-1);
%\node[anchor=north west] at (-1,1) (){};
\node[fit=(a) (b),s] {};
\end{tikzpicture}
\end{document}

方法2:使用显示背景矩形

\documentclass[varwidth,border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{fit,backgrounds}

\tikzset{
s/.style={
  draw, rectangle, minimum height=3cm, minimum width=5cm,
  },
}
\begin{document}
\begin{tikzpicture}[
    show background rectangle, 
]
\draw (0,0) --node[midway,below](a){$\rho_1,\nu_1$} (3,0);
\draw (0,-1) --node[midway,below](b){$\rho_2,\nu_2$} (3,-1);
%\node[anchor=north west] at (-1,1) (){};
%\node[fit=(a) (b),s] {};
\end{tikzpicture}
\end{document}

原文:使用锚点(方法3)

\documentclass[varwidth,border=10pt]{standalone}
\usepackage{tikz}

\tikzset{
s/.style={
  draw, rectangle, minimum height=3cm, minimum width=4cm,
  },
}
\begin{document}
\begin{tikzpicture}
\draw (0,0) --node[midway,below]{$\rho_1,\nu_1$} (2,0);
\draw (0,-1) --node[midway,below]{$\rho_2,\nu_2$} (2,-1);
\node[s,anchor=north west] at (-1,1) (){};
\end{tikzpicture}
\end{document}

我的建议编辑:

\documentclass[varwidth,border=10pt]{standalone}
\usepackage{tikz}

\tikzset{
s/.style={
  draw, rectangle, minimum height=3cm, minimum width=4cm,
  },
}
\begin{document}
\begin{tikzpicture}
\draw (-0.5,0.5) --node[midway,below]{$\rho_1,\nu_1$} (2.5,0.5);
\draw (-0.5,-1) --node[midway,below]{$\rho_2,\nu_2$} (2.5,-1);
\node[s,anchor=north west] at (-1,1) (){};
\end{tikzpicture}
\end{document} 

在此处输入图片描述

答案2

以下是一个提示PSTricks

\begin{pspicture}[showgrid=false](3,2)
    % THE FRAME
      \psframe[linewidth=1.5\pslinewidth](3, 2)
    % THE LINES
      \psline{-}(0.5, 0.8)(2.5, 0.8)
      \psline{-}(0.5, 1.5)(2.5, 1.5)
    % THE LETTERS
      \rput(1.5, 1.2){$\rho_1, v_1$}  % Or \nu, I don't know ^^
      \rput(1.5, 0.5){$\rho_2, v_2$}
\end{pspicture}

尝试使用 PSTricks

只需编辑线条和文本的坐标以满足您的愿望......

编辑

作为附加的社区 wiki 标签,这是我的贡献,简化了代码。

\documentclass[pstricks,border=12pt]{standalone}   
\usepackage{pst-node}

\begin{document}
\begin{pspicture}[shortput=nab](3,2)
    \psframe(3,2)
    \pcline(.5,.8)(2.5,.8)_{$\rho_2, v_2$}
    \pcline(0.5, 1.5)(2.5, 1.5)_{$\rho_1, v_1$}
\end{pspicture}
\end{document}

答案3

没有什么花招;只是内部f有撞击:boxtabular

在此处输入图片描述

\documentclass{article}
\begin{document}

\setlength{\fboxsep}{\baselineskip}%
\noindent
\fbox{\begin{tabular}{@{}c@{}}
  \hline
  \null\qquad$\rho_1,\nu_1$\qquad\null \\ \\
  \hline
  \null\qquad$\rho_2,\nu_2$\qquad\null
\end{tabular}}

\end{document}

答案4

这是一个仅使用 TeX 原语的解决方案:

\def\inrule{\vrule width7em height.4pt}
\vbox{\hrule\hbox{\vrule\kern1em\vbox{\vskip1.1em\halign{\hfil$#$\hfil\cr 
   \inrule \cr 
   \rho_1, v_1\cr 
   \inrule \cr 
   \rho_2, v_2\cr}
   \vskip.5em}\kern1em\vrule}\hrule
}

相关内容