与编译引擎有关,而且还相对复杂,可以在其主页Welcome to the PSTricks web site看到具体说明:
我当前工作的是TeXLive2021+Ubuntu20.04,能用pdflatex --shell-escape main.tex一次性编译通过。
与编译引擎有关,而且还相对复杂,可以在其主页Welcome to the PSTricks web site看到具体说明:
我当前工作的是TeXLive2021+Ubuntu20.04,能用pdflatex --shell-escape main.tex一次性编译通过。
提供MWE(最小工作示例)
建议以后问问题时,将MWE置于代码环境中。
问题的原因是在\tabletail{\midrule{Continued}}和表格最后一行LLLL & & 0.83中缺少换行\\造成的,分别在这两行加上\\即可:
...
\tabletail{\midrule{Continued}\\}
...
LRWL & & 0.83\\
...其原因是由于supertabular要求每行必须有\\结束。
建议使用texdoc supertabular打开其说明书,认真阅读和分析。
个人觉得直接使用exam实现可能更为方便,如果一定要自己实现,可以考虑LaTeX3。
可以参考一下这个:Is it possible to remove the mesh but keep the outline of this pgf plot?,适当调整一下参数看能不能符合需求。
个人建议,可以考虑使用其它工具绘制,再用TikZ进行标注,这样可确保字体、字号等与正文的一致性。
一个可能的参数:
\begin{axis}[%
domain=-1:1, y domain=-1:1,
axis lines=center,
ticks=none,
enlargelimits=false,
xmin=-1, xmax=1, ymin=-1, ymax=1, zmin=-2, zmax=2,
xlabel=$x$, ylabel=$y$, zlabel=$z$,
every axis x label/.style={
at={(axis cs:1,0,0)},
anchor=west,
},
every axis y label/.style={
at={(axis cs:0,1,0)},
anchor=west,
},
every axis z label/.style={
at={(axis cs:0,0,2)},
anchor=south,
},
colormap={blueblack}{color=(black) color=(white)}]
\addplot3[point meta={1-ifthenelse(abs(x)==1,1,ifthenelse(abs(y)==1,1,0))},
z buffer=sort,
surf,opacity=0,
samples=30,fill opacity=0.5] {x^2-y^2};
\end{axis}
\end{tikzpicture}其结果为:
强烈建议直接使用最新的tabularray宏包进行表格排版。
Word思维,尽量早点转换到LaTeX的内容与格式分离的思维上来,并习惯接受LaTeX给出的默认结果。
可能需要3个月以上的修炼后再定义哪个是玄学。
这种对标,毫无意义,中文、英文、公式等字体字号都可能分开设置,不同字体字形,也不可能做到完全一致。
习惯了LaTeX的美,就会觉得Word应该向LaTeX看齐才对。
个人觉得,可以改一下需求,就接受LaTeX给出的结果。
或者,统一加大行距。
猜测是宏展开问题造成的,重新调整了一下代码:
\documentclass{ctexart}
\usepackage{expl3}
% \usepackage{tikz}
\usepackage{tkz-euclide}
\ExplSyntaxOn
\cs_set:Npn \my_draw:n #1 {
\int_step_inline:nn {#1}{
\coordinate (P{##1}) at ({##1},0);
\draw[fill=black](P{##1}) circle (1.5pt);
\draw (P{##1})node[anchor=north]{P{##1}}--++(0,1);
}
}
\newcommand{\mydraw}[1]{
\my_draw:n {#1}
}
\ExplSyntaxOff
\begin{document}
\begin{tikzpicture}
\mydraw{6}
\end{tikzpicture}
\end{document}你可以再体会一下,我觉得LaTeX3代码应该独立出来,再封装成命令供其它部分调用比较合理。
建议在命令行用texdoc ctex打开手册认真阅读:

一个简单的MWE为:
\documentclass{ctexart}
\ctexset{abstractname = \heiti\zihao{4}摘\quad{}要}
\usepackage{zhlipsum}
\begin{document}
\begin{abstract}
\zhlipsum[1]
\end{abstract}
\end{document}其结果为:
ps.这其实不是一个很发的办法,我觉得更好的办法是重写一个摘要环境,可以参考LaTeX 排版内容与样式分离思想和使用技巧
这两名代码没有错误,采用二分注释法,将这两句注释,会发现还有问题,再注释分析,就会发现是\tkzDrawPoints{A,B,C}写错了,应该用\tkzDrawPoints(A,B,C)(小括号)。
修改后的代码为:
\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,3/2/C}
\tkzDrawPoints(A,B,C)
\tkzDrawPolygon(A,B,C)
\tkzLabelSegment(A,C){$\sqrt{13}$}
\tkzMarkAngle[size=0.5cm](C,B,A)%
\tkzLabelAngle[pos=1](C,B,A){$26.6^\circ$}%
\end{tikzpicture}
\end{document}其中,\usepackage{tikz}不再需要,\tkzMarkAngle[size=0.5cm](A,B,C)%应该写成\tkzMarkAngle[size=0.5cm](C,B,A)%
PS.二分注释法定位错误是LaTeX的Debug中常用的一种方法,建议多学习并实践。
用tabularray宏包可以更好的实现表格内容与格式的分离,见另一种解决方案见。
这个使用表格(新tabularray宏包)很容易实现:
\documentclass{ctexart}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{
hlines,vlines,
cells = {c},
cell{1}{2} = {r=2}{font=\bfseries,c,m},
}
所属于类别 & 2021年``华数杯''全国大学生数学建模竞赛 & 参赛编号\\
本科组 & & CM211940\\
\end{tblr}
\end{document}其结果为:
不过要确认后续是否能够很好的使用这些代码。
用LaTeX3排版分散和居中对齐文字是从fduthesis提取代码,结合让title的underline长度随着最长断行的长度而变化。用LaTeX3进行了一个简单实现,请参考附件用LaTeX3排版学位论文封面。
其排版结果为:
其中,标题也可以居中排版,各下划线位置和大小都可以通过调节参数进行调整。
另外,建议适当改变一下自己的需求,向LaTeX妥协。
问 pst-optic宏包使用