LaTeX流程图使用中文时报错 LaTeX Error: Unicode character

该博客介绍了如何使用LaTeX的TikZ库来绘制流程图,并解决了在文档中插入中文时遇到的错误。通过引入CJKutf8包,成功实现了中文在流程图中的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行环境:

Miktex

sublime

根据链接:Latex 绘制流程图_tuzixini的博客-CSDN博客_latex流程图

\documentclass[a4paper,UTF8]{article}  
\usepackage{xcolor}  
\usepackage{tikz}  
\usetikzlibrary{arrows,shapes,chains}  
\begin{document}  		
	\centering  
	\begin{figure}  
		\scriptsize  
		\tikzstyle{format}=[rectangle,draw,thin,fill=white]  
		%定义语句块的颜色,形状和边
		\tikzstyle{test}=[diamond,aspect=2,draw,thin]  
		%定义条件块的形状,颜色
		\tikzstyle{point}=[coordinate,on grid,]  
		%像素点,用于连接转移线
		\begin{tikzpicture}%[node distance=10mm,auto,>=latex',thin,start chain=going below,every join/.style={norm},] 
		%start chain=going below指明了流程图的默认方向,node distance=8mm则指明了默认的node距离。这些可以在定义node的时候更改,比如说 
		%\node[point,right of=n3,node distance=10mm] (p0){};  
		%这里声明了node p0,它在node n3 的右边,距离是10mm。
		\node[format] (start){Start};
		\node[format,below of=start,node distance=7mm] (define){Some defines};
		\node[format,below of=define,node distance=7mm] (PCFinit){PCF8563 Initialize};
		\node[format,below of=PCFinit,node distance=7mm] (DS18init){DS18 Initialize};
		\node[format,below of=DS18init,node distance=7mm] (LCDinit){LCD Initialize};
		\node[format,below of=LCDinit,node distance=7mm] (processtime){Processtime};
		\node[format,below of=processtime,node distance=7mm] (keyinit){Key Initialize};
		\node[test,below of=keyinit,node distance=15mm](setkeycheck){Check Set Key};
		\node[point,left of=setkeycheck,node distance=18mm](point3){};
		\node[format,below of=setkeycheck,node distance=15mm](readtime){Read Time};
		\node[point,right of=readtime,node distance=15mm](point4){};
		\node[format,below of=readtime](processtime1){Processtime};
		\node[format,below of=processtime1](gettemp){Get Temperature};
		\node[format,below of=gettemp](display){Display All Data};
		\node[format,right of=setkeycheck,node distance=40mm](setsetflag){Set SetFlag=1};
		\node[format,below of=setsetflag](setinit){Set Mode Initialize};
		\node[format,below of=setinit](checksetting){Checksetting()};
		\node[test,below of=checksetting,node distance=15mm](savecheck){Check Save Key};
		\node[format,below of=savecheck,node distance=15mm](clearsetflag){Clear SetFlag=0};
		\node[format,below of=clearsetflag](settime){Set Time};
		\node[point,below of=display,node distance=7mm](point1){};
		\node[point,below of=settime,node distance=7mm](point2){};
		%\node[format] (n0) at(4,4){A}; 直接指定位置 
		%定义完node之后进行连线,
		%\draw[->] (n0.south) -- (n1); 带箭头实线
		%\draw[-] (n0.south) -- (n1); 不带箭头实线
		%\draw[<->] (n0.south) -- (n1.north);   双箭头
		%\draw[<-,dashed] (n1.south) -- (n2.north); 带箭头虚线 
		%\draw[<-] (n0.south) to node{Yes} (n1.north);  带字,字在箭头方向右边
		%\draw[->] (n1.north) to node{Yes} (n0.south);  带字,字在箭头方向左边
		%\draw[->] (n1.north) to[out=60,in=300] node{Yes} (n0.south);  曲线
		%\draw[->,draw=red](n2)--(n1);  带颜色的线
		\draw[->] (start)--(define);
		\draw[->] (define)--(PCFinit);
		\draw[->](PCFinit)--(DS18init);
		\draw[->](DS18init)--(LCDinit);
		\draw[->](LCDinit)--(processtime);
		\draw[->](processtime)--(keyinit);
		\draw[->](keyinit)--(setkeycheck);
		\draw[->](setkeycheck)--node[above]{Yes}(setsetflag);
		\draw[->](setkeycheck) --node[left]{No} (readtime);
		\draw[->](readtime)--(processtime1);
		\draw[->](processtime1)--(gettemp);
		\draw[->](gettemp)--(display);
		\draw[-](display)--(point1);
		\draw[-](point1)-|(point3);
		\draw[->](point3)--(setkeycheck.west);
		\draw[->](setsetflag)--(setinit);
		\draw[->](setinit)--(checksetting);
		\draw[->](checksetting)--(savecheck);
		\draw[->](savecheck)--node[left]{Yes}(clearsetflag);
		\draw[->](savecheck.west)|-node[left]{No}(checksetting);
		\draw[->](clearsetflag)--(settime);
		\draw[-](settime)--(point2);
		\draw[-](point2)-|(point4);
		\draw[->](point4)--(readtime.east);
		\end{tikzpicture}  
	\end{figure}  
\end{document}  
————————————————
版权声明:本文为CSDN博主「tuzixini」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tuzixini/article/details/72957211

插入中文后会出现 LaTeX Error: Unicode character

根据链接:LaTeX的section显示中文报错问题解决_NETALB_CHEN-CSDN博客_latex 中文报错

 

\usepackage{CJKutf8}
\title{\LaTeX说明}
\author{Iamnotcc}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
\maketitle
\tableofcontents
\section{内置字符串}
\end{CJK}
\newpage
\end{document}
————————————————
版权声明:本文为CSDN博主「eric_chen1988」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenxi2007/article/details/51816036

加入CJK包后解决问题

\documentclass[a4paper,utf-8]{article}  
\usepackage{xcolor}
\usepackage{CJKutf8}  
\usepackage{tikz}  
\usetikzlibrary{arrows,shapes,chains}  
\begin{document}  		
	\centering
	\begin{CJK}{UTF8}{gbsn}  
	\begin{figure}  
		\scriptsize  
		\tikzstyle{format}=[rectangle,draw,thin,fill=white]  
		%定义语句块的颜色,形状和边
		\tikzstyle{test}=[diamond,aspect=2,draw,thin]  
		%定义条件块的形状,颜色
		\tikzstyle{point}=[coordinate,on grid,]  
		%像素点,用于连接转移线
		\begin{tikzpicture}%[node distance=10mm,auto,>=latex',thin,start chain=going below,every join/.style={norm},] 
		%start chain=going below指明了流程图的默认方向,node distance=8mm则指明了默认的node距离。这些可以在定义node的时候更改,比如说 
		%\node[point,right of=n3,node distance=10mm] (p0){};  
		%这里声明了node p0,它在node n3 的右边,距离是10mm。
		\node[format] (start){Start};
		\node[format,below of=start,node distance=7mm] (define){定义 defines};
		\node[format,below of=define,node distance=7mm] (PCFinit){PCF8563 Initialize};
		\node[format,below of=PCFinit,node distance=7mm] (DS18init){DS18 Initialize};
		\node[format,below of=DS18init,node distance=7mm] (LCDinit){LCD Initialize};
		\node[format,below of=LCDinit,node distance=7mm] (processtime){Processtime};
		\node[format,below of=processtime,node distance=7mm] (keyinit){Key Initialize};
		\node[test,below of=keyinit,node distance=15mm](setkeycheck){Check Set Key};
		\node[point,left of=setkeycheck,node distance=18mm](point3){};
		\node[format,below of=setkeycheck,node distance=15mm](readtime){Read Time};
		\node[point,right of=readtime,node distance=15mm](point4){};
		\node[format,below of=readtime](processtime1){Processtime};
		\node[format,below of=processtime1](gettemp){Get Temperature};
		\node[format,below of=gettemp](display){Display All Data};
		\node[format,right of=setkeycheck,node distance=40mm](setsetflag){Set SetFlag=1};
		\node[format,below of=setsetflag](setinit){Set Mode Initialize};
		\node[format,below of=setinit](checksetting){Checksetting()};
		\node[test,below of=checksetting,node distance=15mm](savecheck){Check Save Key};
		\node[format,below of=savecheck,node distance=15mm](clearsetflag){Clear SetFlag=0};
		\node[format,below of=clearsetflag](settime){Set Time};
		\node[point,below of=display,node distance=7mm](point1){};
		\node[point,below of=settime,node distance=7mm](point2){};
		%\node[format] (n0) at(4,4){A}; 直接指定位置 
		%定义完node之后进行连线,
		%\draw[->] (n0.south) -- (n1); 带箭头实线
		%\draw[-] (n0.south) -- (n1); 不带箭头实线
		%\draw[<->] (n0.south) -- (n1.north);   双箭头
		%\draw[<-,dashed] (n1.south) -- (n2.north); 带箭头虚线 
		%\draw[<-] (n0.south) to node{Yes} (n1.north);  带字,字在箭头方向右边
		%\draw[->] (n1.north) to node{Yes} (n0.south);  带字,字在箭头方向左边
		%\draw[->] (n1.north) to[out=60,in=300] node{Yes} (n0.south);  曲线
		%\draw[->,draw=red](n2)--(n1);  带颜色的线
		\draw[->] (start)--(define);
		\draw[->] (define)--(PCFinit);
		\draw[->](PCFinit)--(DS18init);
		\draw[->](DS18init)--(LCDinit);
		\draw[->](LCDinit)--(processtime);
		\draw[->](processtime)--(keyinit);
		\draw[->](keyinit)--(setkeycheck);
		\draw[->](setkeycheck)--node[above]{Yes}(setsetflag);
		\draw[->](setkeycheck) --node[left]{No} (readtime);
		\draw[->](readtime)--(processtime1);
		\draw[->](processtime1)--(gettemp);
		\draw[->](gettemp)--(display);
		\draw[-](display)--(point1);
		\draw[-](point1)-|(point3);
		\draw[->](point3)--(setkeycheck.west);
		\draw[->](setsetflag)--(setinit);
		\draw[->](setinit)--(checksetting);
		\draw[->](checksetting)--(savecheck);
		\draw[->](savecheck)--node[left]{Yes}(clearsetflag);
		\draw[->](savecheck.west)|-node[left]{No}(checksetting);
		\draw[->](clearsetflag)--(settime);
		\draw[-](settime)--(point2);
		\draw[-](point2)-|(point4);
		\draw[->](point4)--(readtime.east);
		\end{tikzpicture}  
	\end{figure} 
	\end{CJK}
	\newpage 
\end{document}  

### 回答1: 这个错误是由于 LaTeX 无法处理某些 Unicode 字符引起的。可能是因为你在文档中使用了一些特殊字符,如 emoji、特殊符号等。解决方法是使用合适的 LaTeX 包或命令来处理这些字符,或者将它们转换为 LaTeX 可以处理的格式。 ### 回答2: LaTeX是一种排版软件,用于制作各种文档。当在LaTeX使用Unicode字符,有会出现"latex error: unicode character"的错误。这是由于LaTeX的输入和处理字符集不同于Unicode,导致一些字符无法正确解析。 解决这个问题的第一步是在LaTeX代码中确认包含Unicode字符的位置。这些字符通常带有一个特殊的编码,例如"\u{xxx}"或"\u{xxxxx}",xx是表示该字符的16进制码。一般情况下,这些字符会伴随着一个特殊的命令来将它们正确地输入到文档中。例如,在使用CJK包输入中文,应该使用"\begin{CJK}{UTF8}{gbsn}你好\end{CJK}",其中UTF8表示使用Unicode字符集。 然而,在某些情况下,即使按照正确的方式输入字符,LaTeX仍然可能无法正确处理它们。在这种情况下,需要使用一些特殊的宏包和设置来解决此问题。例如,使用\usepackage[utf8]{inputenc}和\usepackage[T1]{fontenc}将字符集设置为UTF-8,或使用\usepackage{fontspec}来指定一个支持Unicode字符的字体。 总之,对于"latex error: unicode character"错误,需要仔细检查代码中使用Unicode字符,并采取相应的解决措施,以确保LaTeX能够正确处理它们。 ### 回答3: 在使用LaTeX编写文档,有候会遇到“LaTeX error: unicode character”的错误提示。这个错误通常是由于文档中出现了LaTeX无法识别的Unicode字符导致的。 Unicode字符是一种全球统一的字符编码标准,它可以表示几乎所有的字符,包括各种不同语言、符号和特殊字符等。但是,LaTeX并不直接支持所有Unicode字符,因此如果在文档中使用了无法识别的Unicode字符,就会出现错误。 解决这个问题的方法是使用LaTeX中特殊的宏包,例如unicode或inputenc等,可以扩展LaTeX的字符集。使用这些宏包可以使LaTeX识别更多的Unicode字符,从而避免出现“LaTeX error: unicode character”的错误提示。 具体地说,使用unicode宏包可以支持更多的Unicode字符,而使用inputenc宏包可以将Unicode字符转换为LaTeX能够识别的字符序列。需要注意的是,不同的宏包可能有不同的字符集和编码方式,因此应该根据具体情况选择合适的宏包和编码方式。 在LaTeX使用Unicode字符,还需要注意以下几点: 1. 在文档的开头使用\usepackage命令加载所需的宏包和编码方式; 2. 在文档中使用\DeclareUnicodeCharacter命令定义LaTeX无法识别的Unicode字符的转换规则; 3. 在文档中避免手动输入Unicode字符,应该尽量使用LaTeX的命令和符号来表示需要的字符。 总之,要解决“LaTeX error: unicode character”的错误,需要在LaTeX文档中加入适当的宏包和编码方式,并避免使用LaTeX无法识别的Unicode字符。这样就可以愉快地使用LaTeX编写各种文档了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值