如何创建具有平行线的矩形?
答案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}
只需编辑线条和文本的坐标以满足您的愿望......
编辑
作为附加的社区 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
有撞击:box
tabular
\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
}