当我尝试使用 overleaf 上的 tkz-euclide 文档中的示例时,我发现某些命令未定义,下面是示例,未定义的命令是\tkzDefPointOnCircle。
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
\tkzDefPointOnCircle[angle=90,center=B,radius=1 cm]
\tkzGetPoint{I}
\tkzDrawCircle[R,teal](B,1cm)
\tkzDrawPoint[teal](I)
\tkzDefCircle[circum](A,B,C)
\tkzGetPoint{G} \tkzGetLength{rG}
\tkzDefPointOnCircle[angle=30,center=G,radius=\rG pt]
\tkzGetPoint{J}
\tkzDrawPoints(A,B,C)
\tkzDrawCircle(G,J)
\tkzDrawPoint(G)
\tkzDrawPoint[red](J)
\end{tikzpicture}
然后我上网查找命令定义在tkz-obj-eu-points.textkz-euclide 包的文件。所以我尝试了一些不同的命令。
事实证明,tkz-euclide 的 .tex 文件中定义的所有命令和环境都无法在 overleaf 中使用。以下是列表,来自tkz-euclide 3.02c。
☞ tkz-euclide.sty
☞ tkz-obj-eu-angles.tex
☞ tkz-obj-eu-arcs.tex
☞ tkz-obj-eu-circles.tex
☞ tkz-obj-eu-指南针.tex
☞ tkz-obj-eu-draw-circles.tex
☞ tkz-obj-eu-draw-lines.tex
☞ tkz-obj-eu-draw-polygons.tex
☞ tkz-obj-eu-lines.tex
☞ tkz-obj-eu-points-by.tex
☞ tkz-obj-eu-points-rnd.tex
☞ tkz-obj-eu-points-with.tex
☞ tkz-obj-eu-points.tex
☞ tkz-obj-eu-多边形.tex
☞ tkz-obj-eu-量角器.tex
☞ tkz-obj-eu-sectors.tex
有人知道如何将这些包添加到 overleaf tex 环境中吗?
非常感谢您的帮助。
我已经包含了 tkz-base 包。
还有 tkz-euclide 包。
我已经尝试添加命令\usetkzobj{全部}。
MWE 是
在 .cls 文件中
\LoadClass[12pt, a4paper]{book}
% Those packages are using for other purposes.
% But I am not sure if some of these will cause the issue.
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{titlesec}
\RequirePackage{color}
\RequirePackage{multicol}
\RequirePackage[many]{tcolorbox}
\RequirePackage{multicol}
\RequirePackage{wasysym}
\RequirePackage{amssymb}
\RequirePackage{ulem}
\RequirePackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\RequirePackage{xcolor}
% Those packages are related to the problem
%\RequirePackage{tikz} % tkz-euclide loads tkz-bse and tikz
%\RequirePackage{tkz-base} %
\RequirePackage{tkz-euclide}
在 .tex 文件中
\documentclass{blockLaTeX}
\begin{document}
\maketitle
\chapter{Hyperbolic geometry}
\section{Belfram-Klein model}
\subsection{Interpretation}
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
\tkzDefPointOnCircle[angle=90,center=B,radius=1 cm] % undefined control sequence.
\tkzGetPoint{I} % Package pgf Error: No shape named tkzPointResult is known.
\tkzDrawCircle[R,teal](B,1cm) % Package pgf keys Error.
\tkzDrawPoint[teal](I)
\tkzDefCircle[circum](A,B,C)
\tkzGetPoint{G} \tkzGetLength{rG}
\tkzDefPointOnCircle[angle=30,center=G,radius=\rG pt] % undefined control sequence.
\tkzGetPoint{J}
\tkzDrawPoints(A,B,C)
\tkzDrawCircle(G,J)
\tkzDrawPoint(G)
\tkzDrawPoint[red](J) % Package pgf keys Error.
\end{tikzpicture}
\end{document}
答案1
这不是问题,tkz-euclide
而是 Overleaf 没有提供最新版本的软件包。
\documentclass[12pt, a4paper]{book}
\usepackage{float} % figure wont float anymore
\usepackage{tkz-euclide}
\usepackage{xcolor}
\usepackage{geometry}
\geometry{paperwidth=21cm,paperheight=29.7cm, body={18cm,25.7cm}, top=2.5cm, left=1.5cm}
\usepackage{hyperref}
\usepackage{caption}
\captionsetup[figure]{labelsep=space}
\begin{document}
\chapter{Hyperbolic geometry}
\section{Belfram-Klein model}
\subsection{Interpretation}
\begin{tikzpicture}
\tkzDefPoints{0/0/A,4/0/B,0.8/3/C}
\tkzDefPointOnCircle[angle=90,center=B,radius=1 cm] % undefined control sequence.
\tkzGetPoint{I} % Package pgf Error: No shape named tkzPointResult is known.
\tkzDrawCircle[R,teal](B,1cm) % Package pgf keys Error.
\tkzDrawPoint[teal](I)
\tkzDefCircle[circum](A,B,C)
\tkzGetPoint{G} \tkzGetLength{rG}
\tkzDefPointOnCircle[angle=30,center=G,radius=\rG pt] % undefined control sequence.
\tkzGetPoint{J}
\tkzDrawPoints(A,B,C)
\tkzDrawCircle(G,J)
\tkzDrawPoint(G)
\tkzDrawPoint[red](J) % Package pgf keys Error.
\end{tikzpicture}
\end{document}