latex合理使用循环和判断选择语句进行绘图的例子

33 篇文章 3 订阅
17 篇文章 0 订阅

当图形元素某些可重现时,在latex中合理使用循环和判断选择语句进行绘图,会非常省事.

下面给个的例子:

%%====================================================
\begin{frame}[fragile]
	\small
由 $4$ 人可构成$2^6 = 64$张 \remph{人际关系图},其中的 $8$ 张图:\\[12pt] %
% %------------------------------------------------------
\setcounter{maincounter}{0}%设置计数器的值
% %------------------------------------------------------
	\begin{tikzpicture}[line width = 1.2pt]
	\pgfmathsetmacro{\h}{1.4}   %两点的水平间距
	\pgfmathsetmacro{\v}{1.4}   %两点的垂直间距
% %------------------------------------------------------
\foreach \r/\c in {0/0,2/0,4/0,6/0,0/2,2/2,4/2,6/2}  
{	
	\stepcounter{maincounter} %增加计数器的值
   \setcounter{secondcounter}{0}%设置计数器的值
	%定义原点坐标
	\coordinate  (P0) at (\r,\c);	
	
	\path (P0)  node[circle,fill=red,inner sep=2pt](a){$a$};  
	\path (a)+(\h,0 )  node[circle,fill=red,inner sep=2pt](b){$b$}; 
	\path (b)+(0,\v )  node[circle,fill=red,inner sep=2pt](c){$c$}; 
	\path (a)+(0,\v )  node[circle,fill=red,inner sep=2pt](d){$d$}; 
	\path ($ (a)!0.5! (b) $)+(0,-0.25)   node (T){ $\left( \themaincounter \right) $}; 
	%画虚线
	\foreach \from/\to in {a/b,b/c,c/d,d/a,a/c,b/d}  
	{
			\stepcounter{secondcounter} %增加计数器的值
			\ifthenelse{\value{maincounter} < 8}{
			\ifthenelse{\value{secondcounter} < \value{maincounter}}
			{\draw[blue,very thick] (\from)--(\to) ; }	{\draw[dashed,thin] (\from)--(\to) ;}
		}{\draw[dashed,thin] (\from)--(\to) ;}
		%------------------------------
	}
		%------------------------------
		\ifthenelse{\value{maincounter} = 8}{\draw[green,very thick] (a)--(b)--(c)--(a) ;  }{}			
}
\end{tikzpicture}
\end{frame}

上面使用了tikz,计数器等,绘制的图形结果如下:


LaTeX使用case语句可以通过使用algorithmic环境和algorithmiccase命令来实现。首先,你需要在头文件中加上\usepackage{algorithm, algorithmic}来引入相关的包。然后,在algorithm环境中使用algorithmiccase命令来定义case语句。下面是一个示例代码: \begin{algorithm} \caption{算法标题} \label{alg:1} \begin{algorithmic}\[1\] \REQUIRE 输入参数 \ENSURE 输出结果 \STATE \algorithmicswitch\ 状态 \STATE \algorithmiccase\ 情况1: 条件1 \STATE \quad 执行操作1 \STATE \algorithmiccase\ 情况2: 条件2 \STATE \quad 执行操作2 \STATE \algorithmiccase\ 情况3: 条件3 \STATE \quad 执行操作3 \STATE \algorithmiccase\ 其他情况 \STATE \quad 执行默认操作 \STATE \algorithmicend\ \algorithmicswitch \end{algorithmic} \end{algorithm} 在这个示例中,你可以根据需要添加更多的case语句,并在每个case语句下面添加相应的操作。请注意,你可以根据自己的需求修改算法标题、输入参数和输出结果的描述。 #### 引用[.reference_title] - *1* *2* [「 LaTeX 」伪代码Switch-case语句编写](https://blog.csdn.net/Robot_Starscream/article/details/123745973)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [LaTex学习之算法如何写以及常用语句IF、FOR、WHILE](https://blog.csdn.net/weixin_46195203/article/details/119938137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值