
\documentclass{article}
\usepackage{tikz}
\usepackage{pgf}
\usetikzlibrary{shapes.geometric}
\usepgflibrary{decorations.shapes}
\usetikzlibrary{decorations.shapes, shapes, fit, arrows, positioning, trees, mindmap, calc}
\tikzset{
rubber/.style={
draw=red!50,
shape border rotate=-90,
isosceles triangle,
fill=red!50,
minimum height=1.5cm,
minimum width =0.05cm,
}
}
\tikzset{
ducky/.style={
draw=red!50,
shape border rotate=90,
isosceles triangle,
fill=red!50,
minimum height=1.5cm,
minimum width =0.05cm,
}
}
\begin{document}
\begin{tikzpicture}
\node[rubber] at (0,0) {};
\node[ducky] at (0,0.5) {};
\end{tikzpicture}
\end{document}
Есть ли способ сделать треугольники выше и тоньше?
решение1
Вам понадобятся два ключа:
- Параметр
isosceles triangle stretches
игнорируетisosceles triangle apex angle
(по умолчанию установлено значение30
) и позволяет использоватьminimum width
иminimum height
указывать точные размеры ключаisosceles triangle
. - Для очень маленьких значений вам также необходимо установить
inner sep
ключи на0pt
(по умолчанию.3333em
).
Я советую вам прочитать страницы 428f.Руководство по ПГФ. (Вы также можете поискать равнобедренный треугольник в PDF-файле.)
Код
\documentclass[tikz]{standalone}
\usetikzlibrary{shapes.geometric}
\tikzset{
rubberduck/.style={
draw=red!50,
shape=isosceles triangle,
fill=red!50,
minimum height=1.5cm,
minimum width=0.5cm,
shape border rotate=#1,
isosceles triangle stretches,
inner sep=0pt,
},
rubber/.style={rubberduck=+90},
ducky/.style={rubberduck=-90}}
\begin{document}
\begin{tikzpicture}
\node[rubber] at (0,0) {};
\node[ducky] at (1,1.5) {};
\end{tikzpicture}
\end{document}