我正在阅读有关使用 绘图的论坛TIKZ
,因为最近我发现自己需要在文档中创建绘图 - 我是一名教师,我正在尝试使用 XeLaTeX 创建工作表和文本供我的学生阅读,因为他们在上中学,我认为使用图像可以帮助他们更好地理解 2d 和 3d 几何的概念。今天我听说了这个tkz-euler
包,但当我在序言中加载它时,我得到了错误。所以,我从这个帖子并把它写入我的序言中:
这是我得到的代码:
\RequirePackage[l2tabu, orthodox]{nag}
\documentclass[a4paper,12pt]{article}
\usepackage[hmargin=2cm,vmargin=2cm,bmargin=2cm]{geometry}
\usepackage[brazil]{babel}
\usepackage{fontspec}
\usepackage{units,gensymb}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{comment}
\usepackage{tkz-euclide}
%\usetikzlibrary{shapes.geometric}
%\usetikzlibrary{calc}
\usetkzobj{all}
\usepackage{pgfplots}
\usepackage{siunitx}
\usepackage{icomma}
\usepackage{newtxmath} %Para fonte times (usar text para texto)
\sisetup{output-decimal-marker = {,}} %Vírgula como separador decimal no siunitx
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{\node[shape=circle,draw,inner sep=2pt] (char) {#1};}} %Para fazer números em círculos
\let\sin\relax\DeclareMathOperator\sin{sen}
\begin{document}
\begin{tikzpicture}
\tkzDefPoint(0,0){A} \tkzLabelPoint[below left](A){A}
\tkzDefPoint(3,0){B} \tkzLabelPoint[below right](B){B}
\tkzDefSquare(A,B) \tkzGetPoints{C}{D}
\tkzDrawSquare(A,B)
\tkzLabelPoint[above right](C){C} \tkzLabelPoint[above left](D){D}
\tkzDefMidPoint(C,D) \tkzGetPoint{E} \tkzLabelPoint[above](E){E}
\tkzDefMidPoint(B,C) \tkzGetPoint{F} \tkzLabelPoint[right](F){F}
\tkzDrawSegments(A,E E,F A,F)
%\tkzDrawPolygon(A,E,F)
\tkzDrawPoints[fill=black](E,F)
\tkzMarkAngle[fill=red,%
%size=0.4, % for small squares you may want to use this
opacity=0.4](F,A,E)
\tkzLabelAngle[pos=1.2](E,A,F){$\alpha$}
\end{tikzpicture}
\end{document}
起初我以为这是一个关于TIKZ
vs. 的兼容性问题tkz-euclide
,这就是为什么TIKZ
它甚至不在文档中,但我逐渐意识到第一行导致了错误,因此注释掉就\RequirePackage[l2tabu, orthodox]{nag}
起作用了。
我的问题是,我之前看到过那行代码,但是不记得为什么,所以我有点不确定是否要删除它。所以:
- 的功能是什么
\RequirePackage[l2tabu, orthodox]{nag}
? TIKZ
交换是明智之举吗tkz-euclid
?还是它们可以互相补充?我也使用tikz-3dplot
,我应该保留哪些包?- 这个
pgfplots
包就在那里,因为我从那里复制了代码,所以它在那里。在这种情况下它有什么作用?
提前致谢!
答案1
该包的目的
nag
是告诉用户他是否在做一些被认为是不好的做法或过时的事情。当然,它不会捕获所有这样的事情,但它应该能捕获很多在l2tabu
。但我无法说出这里究竟为何会引起冲突。tkz-euclide
加载 TikZ。TikZtkz-euclide
专为创建您制作的图形而设计,而 TikZ 则更为通用。您可以tkz-euclide
仅使用 TikZ 完成任何操作,但在某些情况下,前者有更简单的方法来实现某些类型的构造。换句话说,如果你喜欢
tkz-euclide
,就保留它。它不会阻止你使用 TikZ,也不会(我认为)阻止你使用tikz-3dplot
。pgfplots
据我所知,这里什么也没做,它的功能根本没有被使用。
另外,由于您正在加载,所以siunitx
我认为加载没有任何意义units
。