概述
实现垂直文本盒子,即将文本垂直排版,用于绘图.实现的方式很多,
唯一不能做的就是旋转一个盒子,
因为那样文字也会一起旋转,而不是垂直排版的.
例如下面图形中的文字垂直排版问题,就有点难度:
下面是一个示例::
%传热学图3-1
%%%%改变行距
renewcommand{baselinestretch}{0.2}
linespread{0.2}
%缩放盒子
scalebox{0.85}{
%绘图开始
begin{tikzpicture}[scale=1,line width=1 pt,trim left]
%画一个矩形
coordinate (p00) at (0,0);
coordinate (p01) at (10,0);
draw[->] (p00)--(p01);
%绘制原点O
draw (0,0) --(0,-0.2) node[below](text0){$0$};
path (p01) node[right](textinf){$infty$};
%绘制xylabel和xyticker
foreach i/j in {1/-4,2/-2,3/1,4/2,5/4,6/6,7/8,8/10,9/12} {
draw (i,0) --(i,-0.2) node[below](){footnotesize $10^{j}$};
}
draw[red,->,line width =2pt] (1,-0.75)--(1,-1)--(0,-1);
draw[red,->,line width =2pt] (9,-0.75)--(9,-1)--(10,-1);
%绘制粗线
pgfmathsetmacro{ha}{0.25}
pgfmathsetmacro{hb}{0.5}
pgfmathsetmacro{LWB}{3pt}
draw[red,line width =LWB] (1.05,ha)--(1.4,ha);
draw[red,line width =LWB] (1.8,ha)--(3.4,ha);
draw[red,line width =LWB] (4.1,ha)--(4.4,ha);
draw[red,line width =LWB] (5,ha)--(5.7,ha);
draw[red,line width =LWB] (6.15,ha)--(7,ha);
draw[red,line width =LWB] (2.6,hb)--(3.5,hb);
draw[red,line width =LWB] (6.5,hb)--(7.5,hb);
%绘制文本
pgfmathsetmacro{ha}{0.35} %抬高1mm
pgfmathsetmacro{hb}{0.6} %抬高1mm
node[rectangle,rounded corners=1mm,fill=red!25](n1)at(0.2,-1.6){parbox{4em}{极低速非稳态导热}};
node[rectangle,rounded corners=1mm,fill=red!25](n2)at(9.65,-1.6){parbox{4em}{极高速非稳态导热}};
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n3) at(1.2,hb){parbox{1em}{ 地球表面温度变化}} edge[blue,->] (1.2,hb |- 1.4,ha);
%draw[blue,->] (1.2,hb) --(1.2,hb |- 1.4,ha);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n4)at(2.1,hb){parbox{1em}{ 金属热处理}} edge[blue,->] (2.1,hb |- 1.4,ha);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n5)at(3,hb){parbox{1em}{快速干燥}} edge[blue,->] (3,hb |- 1.4,hb);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n6)at(4.2,hb){parbox{1em}{汽车制动盘}} edge[blue,->] (4.2,hb |- 1.4,ha);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n7)at(5.3,hb){parbox{1em}{内燃机气缸}}edge[blue,->] (5.3,hb |- 1.4,ha);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n8)at(6.2,hb){parbox{1em}{等离子体喷涂}}edge[blue,->] (6.2,hb |- 1.4,ha);
node[rectangle,above=5pt,rounded corners=1mm,fill=red!25](n9)at(7.2,hb){parbox{1em}{ 超级速度沸腾}}edge[blue,->] (7.2,hb |- 7.5,hb);
%绘制label
node(nt)at(4.5,-1){footnotesize $left| {{{partial t} mathord{left/
{vphantom {{partial t} {partial tau }}} right.
kern-nulldelimiterspace} {partial tau }}} right|/(K/s)]$};
end{tikzpicture}
}
上面有效地使用了node和parbox,将段落盒子的宽度设为一个字符即可.
最后
以上就是威武冬日为你收集整理的[latex]PGF and Tikz中的垂直文本盒子示例的全部内容,希望文章能够帮你解决[latex]PGF and Tikz中的垂直文本盒子示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复