-shell-escape
和--shell-escape
没有区别,不过个人认为对于长参数使用--shell-escape
更为明确。注意,不是—-shell-escape
,前面是两个-
(减号)。
-shell-escape
和--shell-escape
没有区别,不过个人认为对于长参数使用--shell-escape
更为明确。注意,不是—-shell-escape
,前面是两个-
(减号)。
觉得还是自动判断与选择为好,字体好像没那么重要。
是不是应该在表格结束后,再用\catcode
`\%=14
转回来呢?否则后续可能无法注释。
命令行编译解决所有问题。
可以用tkz-fct宏包进行函数曲线绘制:
\documentclass[margin=5pt]{standalone}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzInit [xmin=-8,xmax=8,ymin=-8,ymax=8,xstep=1,ystep=1]
\tkzFctPolar[domain=0:2*pi,samples=1000]%
{ sqrt(2*cos(2*t)) }
\end{tikzpicture}
\end{document}
基结果为:
TikZ能可以画隐函数的方程,做法是构造一个f(x,y)=(x^2+y^2)^2-a^2(x^2-y^2)
函数,然后进行绘制,如:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[xscale=1,yscale=.25]
\draw plot[id=curve, raw gnuplot] function{
f(x,y) = ((x**2 + y**2)**2) - 2*(x**2 - y**2);
set xrange [-8:8];
set yrange [-8:8];
set view 0,0;
set isosample 2000,2000;
%set size square;
set cont base;
set cntrparam levels incre 0,0.1,0;
unset surface;
splot f(x,y)
};
\end{tikzpicture}
\end{document}
其结果为:
好像画出来的不一样,不知对与不对?
注意,由于使用了外部gnuplot进行计算,所以需要安装gnuplot工具,并在编译时使用--shell-escape
参数。
TikZ就能干的事,为什么搞这么复杂呢?
texdoc tikz看看手册,随便找个样例改一改就是了。
用TikZ实现了一下:插图局部放大的一种实现方式
用楼上的方法实现了一下:
\documentclass{standalone}
% 插图宏包
\usepackage{graphicx}
% 引入TikZ宏包
\usepackage{tikz}
% TikZ宏包扩展库
\usetikzlibrary{fit}% 坐标适配
\usetikzlibrary{spy}% 局部缩放库
\usetikzlibrary{arrows.meta}% 箭头样式
\input{formats.tex}% \drawgrid命令的定义
\begin{document}
\def\imgratio{0.85}
\begin{tikzpicture}[%
spy using outlines = {rectangle,
magnification=3,
connect spies}]
% 载入图像(注意定位锚点为西南,即左下角)
\node[anchor=south west, inner sep=0] (img1) at (0,0)
{\includegraphics[width=\imgratio\textwidth]{example-image-a}};
% 限定坐标区域
\begin{scope}[x={(img1.south east)}, y={(img1.north west)}]
% 绘制坐标辅助网络
% \drawgrid
% 定位缩放点
\coordinate (spypoint) at (0.46, 0.66);
\coordinate (magnifyglass) at (0.0, 0.0);
\end{scope}
\spy[anchor=south west, red, size=2.5cm, very thick] on (spypoint)
in node[fill=white] at (magnifyglass);
\end{tikzpicture}
\end{document}
实现结果为:
语法是一样的,细节可参阅:TeX 引擎、格式、发行版之介绍。
正确配置环境变量后,应该是可以的,没有用过。
LaTeX发行版与编辑器没有直接的关系,可以用任何编辑器编写LaTeX文档。
可以使用如下两个方案实现:
1、使用tikz-imagelabels宏包实现插图注解,如:
2、使用用TikZ的fit库实现插图标注,如:
不知什么原因,连接中的代码的命令和环境开始的\
成了\\
,请自行删除处理一下。
与编译引擎有关,而且还相对复杂,可以在其主页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}
其结果为:
问 使用minted宏包进行编译的小问题