我已经开始使用 TikZ 生成我自己的图表用于学术目的。我一直在使用 GeoGebra 来生成我的图表并导出 TikZ 代码。
在我正在处理的图表中,我只想在 xy 轴上绘制一个简单的矩形:
\documentclass[11pt]{article}
\usepackage{pgf,tikz}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\begin{center}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=-10cm,y=40cm]
%Clip Region
\clip(-0.1,-0.025) rectangle (1.1,0.025);
%Axes
\draw[->,color=black] (-0.1,0.) -- (1.1,0.);
\foreach \x in {,0.8}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-6pt) node[below] {\footnotesize $-\x$};
\draw[->,color=black] (0.,-0.1) -- (0.,1.1);
%\foreach \y in {,0.2,0.4,0.6,0.8,1.}
%\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
%\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
%Rectangle
\draw (0.,-0.005)-- (1.,-0.005);
\draw (1.,-0.005)-- (1.,0.005);
\draw (1.,0.005)-- (0.,0.005);
\draw (0.,0.005)-- (0.,-0.005);
\end{tikzpicture}
\end{center}
\end{document}
-
矩形左端下方的多余部分是怎么回事?我该如何摆脱它?$-\x$
我可以确认,当我在第 17 行更改为时,多余的破折号不存在$\x$
,因此它与该行有关,但我不太明白为什么它会在那里放一个破折号。无论第 16 行的列表x
中有哪些值,它都会出现在同一个位置\foreach
。
我正在使用 Overleaf 测试图表,但我pdflatex
在自己的机器(Windows 7,带 MikTex)上运行了上述示例,并观察到了相同的行为。破折号显示在 Adobe Acrobat Reader 和 SumatraPDF 中。
答案1
好的,显然该行中的前导逗号是:
\foreach \x in {,0.8}
表示列表中有一个空元素。我猜从 Geogebra 到 TikZ 的导出方法非常简单,他们并没有真正想到我会将其用作模板。无论如何,解决方案是删除所有前导逗号:
\foreach \x in {0.8}
感谢 percussion 的提示