Мне нужно нарисовать прямоугольник только с одним круглым краем, как на следующем изображении.
В этом случае это юго-западный угол, который круглый. Я посмотрел и увидел этот пост
Нарисуйте прямоугольник с закругленными концами в TikZ
но я получил ошибку, когда я это сделал
\node (1) [нарисовать, нарисовать, скругленный прямоугольник, скругленный прямоугольник северо-восток arc=0pt] {скругленный прямоугольник}
что является модифицированной версией (Ответ 1: Строка 11)
\node (2) [нарисовать, скругленный прямоугольник, скругленный прямоугольник западная дуга=0pt] {скругленный прямоугольник};
решение1
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[sharp corners] (0,0) -- (0,1) -- (1,1) -- (1,0) [rounded corners] -- cycle;
\end{tikzpicture}
\end{document}
решение2
как узел с такой формой:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
oneroundedge/.style = {%
minimum width=#1,
minimum height=12mm, text depth=0.25ex,
outer sep=0pt,
append after command={
\pgfextra{\let\LN\tikzlastnode
\path[draw, fill=gray!30] (\LN.south west) -| (\LN.north east)
-- (\LN.north west) [rounded corners=3mm] -- cycle;
} },
font=\bfseries}
]
\node (n1) [oneroundedge=12mm] {};
\node (n2) [oneroundedge=22mm, right=of n1] {text};
\end{tikzpicture}
\end{document}
легко добавить больше параметров к oneroundedge
определению стиля (например, для fill
). решение, node
включающее все возможности размещения узлов, привязки и т. д.примечание: якорь south west
находится в юго-западном углу прямоугольника, который определяет oneroundedge
форму.
решение3
решение4
Я увидел много принятых ответов и решил дать вам решение:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[black,fill=gray] (0,0)--(3,0)--(3,-2)--(0.2,-2) to[in=270,out=180] (0,-1.8)--cycle;
\end{tikzpicture}
\end{document}
Это ручное решение с использованием команды "to", которая, как я думаю, полезна. Я уверен, что есть лучшее решение (поэтому пока не принимайте его)