tkz-euclide x RequirePackage

tkz-euclide x RequirePackage

我正在阅读有关使用 绘图的论坛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}

起初我以为这是一个关于TIKZvs. 的兼容性问题tkz-euclide,这就是为什么TIKZ它甚至不在文档中,但我逐渐意识到第一行导致了错误,因此注释掉就\RequirePackage[l2tabu, orthodox]{nag}起作用了。

我的问题是,我之前看到过那行代码,但是不记得为什么,所以我有点不确定是否要删除它。所以:

  1. 的功能是什么\RequirePackage[l2tabu, orthodox]{nag}
  2. TIKZ交换是明智之举吗tkz-euclid?还是它们可以互相补充?我也使用tikz-3dplot,我应该保留哪些包?
  3. 这个pgfplots包就在那里,因为我从那里复制了代码,所以它在那里。在这种情况下它有什么作用?

提前致谢!

答案1

  1. 该包的目的nag是告诉用户他是否在做一些被认为是不好的做法或过时的事情。当然,它不会捕获所有这样的事情,但它应该能捕获很多在l2tabu。但我无法说出这里究竟为何会引起冲突。

  2. tkz-euclide加载 TikZ。TikZtkz-euclide专为创建您制作的图形而设计,而 TikZ 则更为通用。您可以tkz-euclide仅使用 TikZ 完成任何操作,但在某些情况下,前者有更简单的方法来实现某些类型的构造。

    换句话说,如果你喜欢tkz-euclide,就保留它。它不会阻止你使用 TikZ,也不会(我认为)阻止你使用tikz-3dplot

  3. pgfplots据我所知,这里什么也没做,它的功能根本没有被使用。

另外,由于您正在加载,所以siunitx我认为加载没有任何意义units

相关内容