[cstex] Konverzia dĺžky na konštantu a zaokrúhlovanie

Tomáš Fábry fabry.tomas at gmail.com
Mon May 2 10:35:14 CEST 2011


On May 2, 10:02 am, Pavel Striz <st... at fame.utb.cz> wrote:
> V principu to v TikZ neni potreba, zpracuje vse s rozmery i bez nich
> (preddefinovany cm).
> Plus jsem pridal par sipek k predchozimu dotazu; manipulace s nimi je
> snadna.
> PS
>
> % pdflatex sazba.tex
> \documentclass{article}
> \usepackage{tikz}
>
> \begin{document}
> \begin{tikzpicture}
> [sipka/.style={->,>=latex, thick}]
> \node (u1) at (0,0) {Text1};
> \node (u2) at (1cm,2cm) {Text2};
> \draw[sipka] (u1)--(0.5cm,-1cm)-|(2cm,0)-|(u2);
> \draw[sipka,red] (u1)--(u2);
> \draw[sipka,green] (u1) to [out=90](u2);
> \end{tikzpicture}
>
> \def\lentmp{15}
> \begin{tikzpicture}
> \foreach \i in {0,1,...,\lentmp} {
>   \draw(0,0)--(\i,-5cm);
>   \draw[cyan](0,1cm)--(\i,5cm);
>   }
> \end{tikzpicture}
>
> \end{document}
>
> On 29 dub, 18:03, Tomáš Fábry <fabry.to... at gmail.com> wrote:
>
> > Zdravím!
>
> > Je možné nejakým spôsobom skonvertovať v LaTeXu dĺžku na konštantu?
>
> > Konkrétne mám dĺžku napr. \lentmp a chcel by som ju použiť v cykle:
>
> > \foreach \i in {0,...,\lentmp} <\prikaz>
>
> > LaTeX mi to ale nedovolí. Poznám príkaz \the\lentmp, ktorý mi vyrobí
> > textovú konštantu, no neviem sa dopátrať k nejakej obdobe pre číselné
> > konštanty.
>
> > A je možné v LaTeXu nejakým spôsobom zaokruhľovať?
>
> > Ďakujem.
>
> > S pozdravom Tom

Vdaka za odpoved. V principe mozno nie, v mojom pripade to potrebne
bolo. Mal som uz dopredu vytvorenu dlzku, ktora sa v zavislosti na
pridavani istych objektov menila a potom som potreboval v nejakom
mieste spustit cyklus od 0 do hodnoty dlzky zaokruhlenej na cele
centimetre. Ta dlzka bola klasicka, teda \newlength{\dlzka}
{<hodnota>}, nie \def\nieco{<cislo>}, to predsa nie je dlzka. A dlzku
foreach nezoberie. Nakoniec sa mi to podarilo vyriesit vdaka vyssie
uvedenej rade, a teda priradenim do counteru a prevedenim na
centimetre (zaokruhlovanie sa vyriesilo celociselnym delenim),
konkretne:

\newcount\tmpcnt
\tmpcnt = \width
\divide \tmpcnt by 1864679 %konverzia, 1 cm = 1864679 sp
\foreach \x in {0,...,\tmpcnt} {
  ...kod vyuzivajuci \x...
}

So sipkami v TikZ az taky problem nemam, ale aj tak dakujem. Nejde mi
o to, zapisat to priamo do zdrojoveho kodu, ide mi skor o to vytvorit
balicek poskytujuci istu funkcionalitu pre inych pouzivatelov. Takze
dopredu neviem kade sipku niekto povedie, a preto ju tam nemozem len
tak napevno nazvarat. Ide mi o ten nepovinny argument, ako z neho
vydolovat jednotlive suradnice...

Este raz vdaka, pekny den.



More information about the csTeX mailing list