Nakreslite uzol ako štvorec pomocou TikZ

Draw Node Square With Tikz



Riešenie:

Použipravidelný mnohouholníkový tvar ztvary.geometrická knižnica. Ako uvádza Alenanno v komentári, môžete definovať svoj vlastný štýl, aby ste znížili výrečnosť.

Neviem, ako sa vypočítava jeho veľkosť, je v ňom veľa medzier. Nastavenievnútorný prepínač na zápornú hodnotu môže zmenšiť veľkosť, ale hodnotu je potrebné upraviť v závislosti od dĺžky označenia uzla.



 documentclass {article}  usepackage {tikz}  usetikzlibrary {shapes.geometric}  begin {document}  begin {tikzpicture} [square/.style = {regular polygon, regular polygon sides = 4}]  node at (0, 0) [kruh, remíza] (c100) {$ c_ {100} $};  uzol na (3,0) [štvorec, remíza] (v100) {$ v_ {100} $};  uzol na (3, -5) [štvorec, vnútorný sep = -1,3em, kresba] {oveľa dlhší štítok uzla};  uzol na (3, -5) [kruh, kresliť] {oveľa dlhší štítok uzla};  draw (c100) - (v100);  end {tikzpicture}  end {document}

sem zadajte popis obrázku




To je prekvapivo ťažké. V nasledujúcom kóde som definoval vlastný tvar uzlaštvorec, ktorý dedí zobdĺžnikový tvar, ale núti jeho veľkosť byť štvorcový. Mechanizmus dedičnosti bohužiaľ neumožňuje predefinovanie zdedených uložených kotiev, takže som musel skopírovať nejaký kód z TikZdefinícia obdĺžnika.



Pozitívne je, že by malo byť správne vo všetkých prípadoch (definovanie rôznych hodnôt prevnútorné [xy] sep,minimálna {šírka, výška} avonkajší [xy] sep) a má všetky kotvyobdĺžnikový tvar.

 documentclass [tikz, margin = 5pt] {standalone}  usepackage {tikz}  makeatletter % obsah  squarecorner bol väčšinou ukradnutý z pgfmoduleshapes.code.tex  def  squarecorner#1 { % Calculate x % % First, is width neuveriteľne vzrušujúci výsledok


Použiteminimálna veľkosť = čo mení obojevýška ašírku, ktorú môžete zmeniť aj jednotlivo. Tiež to majte na pamätiobdĺžnik je predvolený tvar, takže ho nemusíte špecifikovať.



Písanie uzol na (3,0) [minimálna veľkosť = 1 cm, kresba] (v100) {$ v_ {100} $}; mali by ste dostať

sem zadajte popis obrázku