[cstex] ako prepisat kod do makra s 2 parametrami
Zdenek Wagner
zdenek.wagner at gmail.com
Sun Jul 4 12:29:56 CEST 2021
ne 4. 7. 2021 v 0:42 odesílatel peter knezel <peter.knezel at gmail.com> napsal:
>
> Zdravim,
>
> dalo by sa prepisat kod nizsie:
>
> \documentclass{article}
> \usepackage{framed,color,verbatim}
>
> \newenvironment{com}%
> {\snugshade\verbatim}%
> {\endverbatim\endsnugshade}
>
> \newenvironment{res}%
> {\snugshade\verbatim}%
> {\endverbatim\endsnugshade}
>
> \begin{document}
>
> \setlength\topsep{-3pt}
> \definecolor{shadecolor}{rgb}{1, .49, 0.0}
> \begin{com}
> prikaz
> \end{com}
> \definecolor{shadecolor}{rgb}{.66, .66, .66}
> \begin{res}
> vysledok prikazu
> \end{res}
>
> \end{document}
>
> tak, ze zadefinujem novy prikaz s 2 parametrami este
> nad riadkom:
> \begin{document}
>
>
> newcommand{\skus}[2]{#1}{
>
> \setlength\topsep{-3pt}
>
> \definecolor{shadecolor}{rgb}{1, .49, .5}
>
> \begin{com}
>
> #1
>
> \end{com}
>
> \definecolor{shadecolor}{rgb}{.66, .66, .9}
>
> \begin{res}
>
> #2
>
> \end{res}
>
> }
>
>
> a neskor zavolam:
>
> \skus{prikaz}{vysledok}
>
> \skus{prikaz2}{vysledok2}
>
>
> Zatial sa mi nedari dostat vhodny vysledok.
> Dakujem vopred za pomoc,
>
Vidím zde dva problémy. Před newcommand chybí backslash. Syntakxe
\newcommand vyžaduje za jménem makra nepovinně hranaté závorky
definující počet parametrů, nepovinně další hranaté závorky s
defaultní hodnotou prvního parametru a nakonec složené závorky s tělem
makra. V uvedené verzi slovo newcommand (nad \begin{document}) způsobí
chybu "Missing \begin{document}", \skus bude nedefinované makro. Když
doplníte backslash, pak v této podobě \skus bude makro se dvěma
parametry, které vytiskne obsah prvního parametru (viz {#1}), a další
složené závorky půjdou přímo na výstup, tedy opět způsobí chybu
"Missing \begin{document}". Musíte tedy ještě navíc odstranit {#1},
pak by to mělo fungovat.
> Peter Knezel
>
Zdeněk Wagner
http://ttsm.icpf.cas.cz/team/wagner.shtml
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
More information about the csTeX
mailing list