Latex, több hasábos elrendezés makróval?
Sziasztok!
Szeretnék létrehozni egy több hasábos elrendezést makrókkal.
A multicol utasítás sajnos csak előre definiált hasáb számmal tud dolgozni, viszont én ezt előre nem tudom. Mit javasolnátok?





1: receptekhez szeretnék sablon szerűséget/makrókat írni.
A hozzávalóknál azt szeretném, hogy az egyes részek hozzávalói külön hasábban legyenek (pl: tortánál a torta, a krém és a már hozzávalói külön hasábban legyenek). Előre nem tudom, hogy az egyes recepteknek hány ilyen alkotó eleme van.
Azt szeretném, hogy a receptet elég legyen így írni
\begin{ingredients}
\ingredients[For batter]
Something
Something
Something
\ingredients[For filling]
Something
Something
\ingredients[For icing]
Something





Sajnos nem tudok segíteni neked.
A kérdésem is arra irányult, hogy megtudjam, miért nem tudod előre a hasábszámot.
Köszönöm a válaszodat.





#4 "Előre nem tudom, hogy az egyes recepteknek hány ilyen alkotó eleme van."
Ez olyan mint a for-foreach ciklus... :) Az egyiknél tudjuk hány eleme van, a másiknál pedig "nem" (valójában de, csak megkell számolni).
Itt is ez lenne az elv szerintem. Annak kellene utánanézni, hogy az \ingredients elemket, hogyan tudod megszámolni a blokkon bellül.
Pontos megoldást én sem tudod sajnos (ilyet még nem csináltam, de érdekes feladat) és biztosan lehetséges, mert egy számozott lista ugyanezen az elven működik. Tehát én megnézném, hogy az ilyen lista generáló csomagoknál ezt hogy oldják meg.
Ha pedig megvan a darabszám, akkor tudni fogod a hasábok számát is. :)





#5-ös vagyok:
Az \ingredients meghívása léptessen egy számlálót. Ennek az értéke legyen az oszlopok száma. A blokk lezárása pedig nulláza a számlálót.





Két opciód van:
1: létrehozol egy \addIngredients makrót, ami megnövel egy számlálót, és elmenti az argumensét egy "változóba", ami a számláló értékét tartalmazza. Tehát lesz majd neked \ingredientlist1, \ingredientlist2... Szöveged.
Majd az \addIngredients után egy \showingredients makróval egy már ismert oszlopszámmal meg tudod jeleníteni (for loop?) az előzőleg hozzáadott hozzávalókat
2: aux fájlba írsz, hasonlóan működik a gyári latex ToC, crossreference, stb stb.
\Ingredients makró első compilenál csak számol, kimenti a végleges számot aux fájlba, második compileba meg már tudni fogod, hány darab van, innen már egyszerű.
Ha gyors, csak te általad használt megoldásra van szükség, elsőt ajánlom, de ha egy nyilvános dologról van szó, érdemes "szépen" csinálni aux fileba írással.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!