还是认真读手册为好:
还是认真读手册为好:
由于MWE中使用的字体我这里没有(Ubuntu20.04+TeXLive2022),因此无法复现你的问题。
一是可以使用wrapfig2宏包:
% 在导言区添加\usepackage{wrapfig2},使用方法查手册
\begin{wrapfigure}{r}{0.5\linewidth}
\centering
\includegraphics[width=0.9\textwidth]{pic/c5.01A9-lajitong}
\end{wrapfigure}
小明在学习了传感与控制的相关学习后,想利用micro:bit 和传感器等设备实现一个智能翻盖的垃圾桶,当距离传感器检测到距离小于阈值后,启动舵机进行翻转实现翻盖,延迟5s 后回转,实现闭盖。同时小明增添了PC端程序,用于读取传感数据,同时在垃圾投递次数到达30 次后,邮件提醒用户及时清理垃圾。
结果为:
另一种方案是可以使用minipage环境:
\begin{minipage}{0.65\textwidth}
小明在学习了传感与控制的相关学习后,想利用micro:bit 和传感器等设备实现一个智能翻盖的垃圾桶,当距离传感器检测到距离小于阈值后,启动舵机进行翻转实现翻盖,延迟5s 后回转,实现闭盖。同时小明增添了PC端程序,用于读取传感数据,同时在垃圾投递次数到达30 次后,邮件提醒用户及时清理垃圾。
\end{minipage}
\begin{minipage}{0.30\linewidth}
\centering
\includegraphics[width=0.9\linewidth]{pic/c5.01A9-lajitong}
\end{minipage}
结果为:
其它的,都可以用minipage
盒子拼出来。如果需要更复杂,还可以用xcoffin宏包。
MWE代码呢?
需要提供MWE代码才能准确判断,盲猜是把\usepackage{graphicx}
写成了\usepackage{graphics}
。
是不是这个方案也可以解决:
在tabularray宏包的longtblr环境中使用双语表题
把英文表题部分改成文字段落,并取消tag和sep。
采用楼上方案有个问题就是当表格行数变化时,得不断修改row参数。
另一个方案是在所有单元格中先使用\alert<.>
以停止beamerpauses计数器,然后在第1列使用\alert<+>
覆盖第一列的\alert<.>
以在每行开始时递增beamerpauses计数器,从而实现逐行显示。如果某行不需要高亮,则对该行的第1列再次使用\alert<.>
覆盖其\alert<+>
,如对cell{1}{1}
再次使用\alert<.>
则可以取消第1行的逐列高亮。
逻辑止看似有点复杂,但这样可以不用考虑具体的表格行数,相对比较通用。
但有一点需要注意,需要在导言区使用\UseTblrLibrary{counter}
修正tabularray的计数器。
完整的代码如下:
\documentclass{ctexbeamer}
\usepackage{tabularray}
\UseTblrLibrary{counter} %% added this line
\begin{document}
\begin{frame}
\frametitle{表格修饰的主要方法}
% \begin{table} % Beamer中不应该使用table浮动体
\centering
\begin{tblr}{
% 对所有单元枨添加\alert<.>命令,
% 暂停增加beamerpauses计数器
cells = {m,cmd=\alert<.>},
colspec = {Q[c]Q[l,20em]},
hline{1,Z} = {1pt},
hline{2},
% 给第一列添加<+>,增加beamerpauses计数
% 从而实现逐行显示
column{1}={cmd=\alert<+>},
% 暂停增加beamerpauses计数器
cell{1}{1}={cmd=\alert<.>},
}
修饰内容 & 主要属性\\
框线 & 样式、颜色、宽度\\
底纹 & 颜色、图案(样式、颜色)\\
大小 & {自动调整:根据内容、根据窗口 \\指定宽高:指定高度、宽度(厘米、百分比) \\均分行列:分布行、分布列}\\
对齐 & {九宫格对齐:表格其实只控制了上中下对齐,左右对齐是用段落 \\文字方向:简化的页面设置--文字方向 \\单元格边距:内容盒子和格盒子的距离}\\
内容 & 同具体对象的设置一样\\
\end{tblr}
% \end{table}
\end{frame}
\end{document}
刚做完文档跟踪翻译,欢迎批评指正:tabularray-doc-zh-cn-2022A
对于这种散点图,我觉得使用tkz-base宏包进行绘制也不失为一种方便的方案:
% 引入文档类
\documentclass[margin=5pt]{standalone}
% 导言区
\usepackage{ctex}
\usepackage{tkz-base}
% 正文区
\begin{document}
\begin{tikzpicture}[scale=1.00]
\tkzInit[xmin=34,xmax=56,xstep=2,ymin=460,ymax=620,ystep=20]
\tkzDrawX[label={}]
\tkzDrawY[label={}]
\tkzLabelX[font=\scriptsize]
\tkzLabelY[font=\scriptsize]
\tkzText[draw,
line width = 1pt,%
color = blue,%
fill = orange!20](46,435)%
{年宣传费/千元}
\tkzText[draw,
line width = 1pt,%
color = red,%
rotate = 90,%
fill = orange!20](31,540)%
{年销售量/$t$}
\tkzDefSetOfPoints[show]{38/500, 40/540, 44/560, 46/570,
48/580, 50/590, 56/600}
\tkzDrawSetOfPoints[mark=ball,mark size=2pt]
\end{tikzpicture}
\end{document}
请提供MWE(最小工作示例),否则无人知道为什么.
可以基于l3draw宏包,用LaTeX3实现,圆的半径和等分数可以通过可选参数用key-value方式指定(默认半径为8cm,等分数为10),如:
\documentclass{standalone}
\usepackage{l3draw}
\usepackage{xparse}
\ExplSyntaxOn
\bool_new:N \l__circdiv_intersection_bool
\int_new:N \l__circdiv_cnt_int
\dim_new:N \l__circdiv_radius_dim
% key_value选项设计
\keys_define:nn { circdiv }
{
% 等分数
cnt .int_set:N = \l__circdiv_cnt_int,
cnt .initial:n = 10,
% 圆的半径
r .dim_set:N = \l__circdiv_radius_dim ,
r .initial:n = 1cm,
unknown .code:n = { \msg_error:nn { circdiv } { unknown-option } }
}
\msg_new:nnn { circdiv } { unknown-option }
{ package~ option~ "\l_keys_key_tl"~ is~ unknown. }
\keys_set:nn { circdiv }
{
cnt = 10 ,
r = 8cm,
}
\NewDocumentCommand \circdivset { m }
{ \keys_set:nn { circdiv } {#1} }
\cs_new:Npn \__circdiv_div:
{
\draw_begin:
\color_select:n { blue }
\draw_path_circle:nn { 0cm, 0cm } { \l__circdiv_radius_dim }
\draw_path_use_clear:n { stroke }
\color_select:n { red }
\int_step_inline:nnnn { 0 } { 360/\l__circdiv_cnt_int } { 359 }
{
\int_step_inline:nnnn { 0 } { 360/\l__circdiv_cnt_int } { 359 }
{
\draw_path_moveto:n
{ \draw_point_polar:nn { \l__circdiv_radius_dim } { ##1 } }
\draw_path_lineto:n
{ \draw_point_polar:nn { \l__circdiv_radius_dim } { ####1 } }
}
}
\draw_path_close:
\draw_path_use_clear:n { stroke }
\draw_end:
}
\NewDocumentCommand{\circdiv}{ s O{} }
{
% 可以定义一个星号命令以绘制交点(待研究)
% \IfBooleanTF{#1}
% {
% \bool_set_false:N \l__circdiv_intersection_bool
% }{
% \bool_set_true:N \l__circdiv_intersection_bool
% }
\group_begin:
\keys_set:nn { circdiv } {#2}
\__circdiv_div:
\group_end:
}
\ExplSyntaxOff
\begin{document}
\circdiv
\circdiv[cnt=36]
\end{document}
绘制结果为:
1、请在提问时使用代码块排版代码,否则无法直接拷贝测试,需要修改代码。
2、不建议在一个\usepackage
里写这么多宏包,这样会造成无法采用折半注释法分析宏包冲突等问题。
3、类似\usepackage{ctex}
和\usepackage[OT1]{fontenc}
在你的文档中是无意义的,请先读一下lshort-zh-cn
,再来用LaTeX工作。
4、提问中并未提供2.jpg
图像文件,无法进行测试,建议使用example-image
代替。
5、折半注释法是LaTeX调试中一个非常重要的方法,建议熟练掌握。
采用折半注释法,注释所有wrapfigure
环境后,则编译没有问题,显然这是该环境的使用问题。使用texdoc warpfig
查阅其说明书可以看到其语法为:
但代码中,仅提供了一个必选参数{R}
,因此,这是造成问题的原因,修改后的代码为:
\documentclass{ctexbook}
\usepackage{txfonts}
\usepackage{fancyhdr}
\usepackage{CJKfntef}
\usepackage{color}
% \usepackage{ctex}
\usepackage{enumitem}
\usepackage{setspace}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{wrapfig}
\usepackage{pdfpages}
% \usepackage[OT1]{fontenc}
\begin{document}
\part{AAA}
\section*{AAA}
\subsection*{AAA}
\lipsum[1-3]
\begin{wrapfigure}{r}{5cm}
\centering
\includegraphics[width=25bp]{example-image}
\caption{AAA}
\end{wrapfigure}
\lipsum[1-5]
\end{document}
其中\begin{wrapfigure}{r}{5cm}
中的{5cm}
是随意给的,请根据需要进行调整。
说明: wrapfig
宏包的最新版本是2003年的版本,已非常老了,建议使用新的wrapfig2
宏包。在新的wrapfig2
宏包中,wrapfigure
环境仅需要一个必选参数,因此你的代码可以通过编译。但wrapfig2
宏包会与color
宏包发行冲突,可以考虑不使用color
宏包(折半注释很容易定位该问题)。
LaTeX分为文本模式和数学模式,而\textdegree
不是数学模式中能输出的文本,因此需要使用\text{}
命令进行输出(lshort-zh-cn, 4.2.2 数学模式),如:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
3\textdegree
$3\text{\textdegree}$
$3\textdegree$
\end{document}
其输出结果为:
你的代码不应该是不能编译,而是编译后没有输出。
ps. 提问量,请对代码请使用代码块进行编辑。
一、用的是什么样的文档类(模板),请提供MWE最小工作示例代码。
二、若是标准文档类,如果还是入门阶段,请接受它的结果,不要在这些方便过于纠结。
问 为什么使用 tabularray 宏包 + verb 抄录环境会报错?