Estou desenhando o seguinte diagrama:
E gostaria de passar "PWM Inverter" como parâmetro na hora de criar o bloco, o que não consegui... Além disso, gostaria de aumentar o tamanho do texto dentro do bloco. Como eu faço isso?
O código:
\documentclass[tikz,border=20pt]{standalone}
\usetikzlibrary{shapes,arrows}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{babel}
\usetikzlibrary{calc,arrows.meta,patterns,backgrounds}
\usetikzlibrary{positioning}
\usetikzlibrary{fit}
\begin{document}
\tikzset{pics/inverter/.style 2 args={code={%
\path (-\pgfkeysvalueof{/tikz/inverter/width}/2,-\pgfkeysvalueof{/tikz/inverter/height}/2)
node[above right] (bl) {#2}
rectangle
(\pgfkeysvalueof{/tikz/inverter/width}/2,\pgfkeysvalueof{/tikz/inverter/height}/2)
node[below left] (tr) {#1};
\node[pic actions,inner sep=0pt,fit=(bl)(tr),path picture={\path[pic actions]
(path picture bounding box.north west)
-- (path picture bounding box.south east);}]
(\pgfkeysvalueof{/tikz/inverter/name}){};
\node at (0,\pgfkeysvalueof{/tikz/inverter/height}/2) [rectangle, above]{PWM Inverter};
}},inverter/.cd,height/.initial=2cm,width/.initial=2cm,name/.initial=}
\begin{tikzpicture}
\path pic[draw,thick,rounded corners,text centered,inverter/name=inv] {inverter={$\sim$}{$\sim$}};
\end{tikzpicture}
\end{document}
Responder1
Por alguma razão, esse código me parece muito familiar, por isso foi fácil modificá-lo e adicionar uma chave para o título. O valor padrão (ou, mais precisamente, inicial) é, PWM Inverter
mas você pode alterá-lo, conforme ilustrado no MWE.
\documentclass[tikz,border=20pt]{standalone}
\usetikzlibrary{positioning}
\usetikzlibrary{fit}
\begin{document}
\tikzset{pics/inverter/.style 2 args={code={%
\path (-\pgfkeysvalueof{/tikz/inverter/width}/2,-\pgfkeysvalueof{/tikz/inverter/height}/2)
node[above right,scale=2] (bl) {#2}
rectangle
(\pgfkeysvalueof{/tikz/inverter/width}/2,\pgfkeysvalueof{/tikz/inverter/height}/2)
node[below left,scale=2] (tr) {#1};
\node[pic actions,inner sep=0pt,fit=(bl)(tr),path picture={\path[pic actions]
(path picture bounding box.north west)
-- (path picture bounding box.south east);}]
(\pgfkeysvalueof{/tikz/inverter/name}){};
\node at (0,\pgfkeysvalueof{/tikz/inverter/height}/2)
[rectangle, above]{\pgfkeysvalueof{/tikz/inverter/title}};
}},inverter/.cd,height/.initial=2cm,width/.initial=2cm,name/.initial=,%
title/.initial=PWM Inverter}
\begin{tikzpicture}
\path pic[draw,thick,rounded corners,text centered,inverter/name=inv] {inverter={$\sim$}{$\sim$}}
(5,0) pic[draw,thick,rounded corners,text centered,inverter/.cd,name=inv2,title=some title]
{inverter={$\sim$}{$\sim$}};
\end{tikzpicture}
\end{document}