# Changelog All notable development changes for TikZ-Sections are recorded here. ## Unreleased No unreleased changes yet. ## v0.2.0 - 2026-05-25 ### Changed - Renamed the main package surface to `tikz-sections`, with public commands now using the `\TikZSections...` prefix and styles using the `tikzSections/...` namespace. - Removed package-owned built-up section wrappers from the current public API so built-up assemblies are composed with ordinary TikZ scopes and transforms. - Added TikZ-like placement keys `at={(x,y)}` and `shift={(x,y)}` while keeping `x` and `y` placement keys available. - Added `xscale` and `yscale` keys and a smoke test covering composition inside ordinary TikZ scopes. - Standardized CFS channel and zee handling so public commands accept common `flange`/`lip` values while also supporting independent `top flange`, `bottom flange`, `top lip`, and `bottom lip` overrides. - Consolidated public CFS channel and zee variants into `\TikZSectionsChannel` and `\TikZSectionsZee`; lipped and unlipped forms are selected by lip parameters rather than separate public lipped-channel/lipped-zee commands. - Documented and tested `lip=0` as the unlipped form for CFS channel and zee geometry. - Normalized public circular section wrappers so their local drawing extent starts from the south-west origin instead of being centered on the origin. - Standardized radius aliases by accepting `inside radius`, `bend radius`, and `root radius` as readable names for the current radius parameter. - Defined the first simplified/detailed input-mode behavior for CFS channel, stiffened-channel, zee, and sigma commands: simplified mode uses nominal `flange`/`lip` values, while detailed mode honors independent top/bottom flange and lip keys. - Added basic channel and zee dimension legends for `dimensions=true`, using a boxed parameter list instead of the older generic guide-line overlay for those commands. - Revised channel and zee dimension labels to use `b_w`, `b_f`, `b_l`, `t`, and `r` notation, with top/bottom variants for detailed asymmetric dimensions. - Moved automatic labels to the top-left of each section, including the local drawing scale in brackets when explicit label coordinates are not supplied. - Added rendered built-up section examples to the manual while keeping built-up sections as ordinary TikZ composition. - Expanded the built-up section documentation examples with toe-to-toe channels, nested channels, and bolted channel assemblies. - Updated RC cross-section styling so longitudinal bars are blue, stirrups/ties are red, concrete outlines are heavier, and stirrups are drawn around the outside edge of the longitudinal bar envelope. - Routed channel and zee straight segments and bends through shared internal drawing helpers as the first step in reducing repeated low-level TikZ code. - Routed box, L-section, and circular tube helper geometry through the same shared internal straight-segment and arc helpers. ## v0.1.2 - 2026-05-23 ### Changed - Prepared CTAN-facing metadata by adding package information to the README, naming the manual maintainer, and removing tracked macOS metadata. ## v0.1.1 - 2026-05-23 ### Changed - Changed the package license to the LaTeX Project Public License, version 1.3c or later. ## v0.1.0 - 2026-05-23 ### Added - Added LaTeX package metadata with `\NeedsTeXFormat` and `\ProvidesPackage`. - Added package-level TikZ styles: - `tikzSections/straight` - `tikzSections/round` - `tikzSections/centerline` - `tikzSections/hidden` - `tikzSections/dimension` - `tikzSections/label` - `tikzSections/fill` - `tikzSections/concrete` - `tikzSections/concrete edge` - `tikzSections/rebar` - `tikzSections/tie` - Added initial internal drawing helper macros. - Added explicit cold-formed steel command wrappers: - `\csCFSChannel` - `\csCFSLippedChannel` - `\csCFSEdgeStiffenedChannel` - `\csCFSChannelWithOneStiffener` - `\csCFSChannelWithTwoStiffeners` - `\csCFSChannelWithThreeStiffeners` - `\csCFSZee` - `\csCFSLippedZee` - `\csCFSSigma` - `\csCFSHat` - `\csCFSAngle` - `\csCFSLippedAngle` - `\csCFSBox` - `\csCFSRHS` - `\csCFSSHS` - `\csCFSCHS` - `\csCFSFoldedPlate` - Added explicit hot-rolled steel command wrappers: - `\csHRSUniversalBeam` - `\csHRSUniversalColumn` - `\csHRSISection` - `\csHRSWeldedI` - `\csHRSTee` - `\csHRSChannel` - `\csHRSEqualAngle` - `\csHRSUnequalAngle` - `\csHRSPlate` - `\csHRSFlatBar` - `\csHRSRoundBar` - `\csHRSCHS` - `\csHRSRHS` - `\csHRSSHS` - Added initial key-value public API: - `\TikZSectionsSetup` - `\TikZSectionsChannel` - `\TikZSectionsLippedChannel` - `\TikZSectionsStiffenedChannel` - `\TikZSectionsZee` - `\TikZSectionsLippedZee` - `\TikZSectionsSigma` - `\TikZSectionsHat` - `\TikZSectionsAngle` - `\TikZSectionsLippedAngle` - `\TikZSectionsRHS` - `\TikZSectionsSHS` - `\TikZSectionsCHS` - `\TikZSectionsUniversalBeam` - `\TikZSectionsUniversalColumn` - `\TikZSectionsWeldedI` - `\TikZSectionsTee` - `\TikZSectionsHRSChannel` - `\TikZSectionsEqualAngle` - `\TikZSectionsUnequalAngle` - `\TikZSectionsPlate` - `\TikZSectionsRoundBar` - Expanded the key-value public API with remaining bar/hollow wrappers: - `\TikZSectionsFlatBar` - `\TikZSectionsHRSCHS` - `\TikZSectionsHRSRHS` - `\TikZSectionsHRSSHS` - Added key-value drawing options for `filled`, `centerline`, `dimensions`, `monochrome`, `label`, `label x`, `label y`, `mode`, `simplified`, and `detailed`. - Documented that `dimensions=true` is currently a basic overlay placeholder, with full dimension labels and standard-based notation reserved for later development. - Added initial reinforced-concrete cross-section commands: - `\TikZRCRectangular` - `\TikZRCCircular` - Added initial documentation and example sources: - `docs/tikz-sections-doc.tex` - `examples/cfs-gallery.tex` - `examples/hrs-gallery.tex` - `examples/rc-gallery.tex` - `examples/style-customization.tex` - Added permanent smoke-test sources: - `tests/smoke-cfs.tex` - `tests/smoke-hrs.tex` - `tests/smoke-keyval.tex` - `tests/smoke-rc.tex` ### Changed - Replaced package-internal `\usepackage{tikz}` with `\RequirePackage{tikz}`. - Removed the unused `tkz-euclide` dependency. - Routed existing drawing commands through named TikZ styles instead of direct `red` and `blue` draw options. - Changed older lip/stiffener checks from integer-only `\ifnum` tests to decimal-safe `\ifdim` tests. - Kept lower-level positional helper commands available while adding key-value wrappers. - Expanded the key-value smoke test to cover all current key-value wrappers and common overlay/style options. - Expanded `.gitignore` for common LaTeX build products and local build directories. - Added a `Makefile` for repeatable documentation, example, and smoke-test compilation. ### Verified - `tikz-sections.tex` compiles with `pdflatex`. - A temporary Phase 2 CFS smoke test compiles all new CFS wrapper commands. - A temporary Phase 3 HRS smoke test compiles all new HRS wrapper commands. - A temporary Phase 4 key-value smoke test compiles the new `\TikZSections...` commands. - The documentation, examples, and permanent smoke-test sources compile with MacTeX using `pdflatex`. - `make all` compiles the manual, example gallery files, and smoke-test documents with MacTeX using `pdflatex`.