MWE代码呢?
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最小工作示例代码。
二、若是标准文档类,如果还是入门阶段,请接受它的结果,不要在这些方便过于纠结。
这个代码作者在github上有仓库: Polynomial-division,用该仓库的代码,余数为0的问题应该已解决。
另一个前面是负号时横线长度是可以解决的,但需要进行较为复杂的逻辑判断,需要判断第一个系数是否为负,根据正负设置\l__poly_uline_tl
的起始位置和长度,如:
将\prg_replicate:nn {2*\seq_count:N #2 + \l__poly_tmpb_int + 1} {&}
修改为\prg_replicate:nn {2*\seq_count:N #2 + \l__poly_tmpb_int} {&}
。
将\tl_put_right:Nx \l__poly_uline_tl {{\int_eval:n {2*\seq_count:N #2 - 1}}}
修改为\tl_put_right:Nx \l__poly_uline_tl {{\int_eval:n {2*\seq_count:N #2}}}
但这样简单的修改会带来第一个数为正数时,会产生空白,个人认为进一步修改意义不大。
可以考虑使用新的tabularray
宏包实现:
\documentclass{ctexart}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{|Q[c,m]|Q[l,m]|}
\hline
十八年来 &{两只黄鹂鸣翠柳\\ \hspace*{\ccwd}一行白鹭上青天}\\
\hline
\end{tblr}
\end{document}
我觉得更为合理的是把表格的内容与格式进一步分离:
\documentclass{ctexart}
\usepackage{xcolor}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{hlines, vlines,
rows={m},
column{1}={c},
column{2}={l,purple7}
}
十八年来 &{两只黄鹂鸣翠柳\\ \hspace*{\ccwd}一行白鹭上青天}\\
\end{tblr}
\end{document}
问 为什么那个图没在中间呢?