[cstex] ako prepisat kod do makra s 2 parametrami

peter knezel peter.knezel at gmail.com
Mon Jul 5 10:03:10 CEST 2021


Zdravim pan Kuben,

dakujem velmi pekne za analyzu. Skusim dalej hladat alternativy na webe.
S pozdravom,
Peter Knezel

On Sun, 4 Jul 2021 at 16:32, Kuben Jaromír <jaromir.kuben at unob.cz> wrote:

> Dobrý den.
>
> Ani po odstranění zřejmých chyb v definici příkazu \skus, které uvádí pan
> Wagner, to však nefunguje. Hlásí to chybu (jak jste sám zjistil)
>
> Runaway argument?
> ! Paragraph ended before \verbatim at start was complete.
> <to be read again>
>                    \par
> l.41 \skus{prikaz}{vysledok}
>
> atd.
>
> Důvod je zřejmě možné nalézt v dokumentaci k balíčku verbatim.sty. Na str.
> 3 jsou uvedena omezení. Druhé z nich říká:
>
> You cannot use the verbatim environment inside user defined commands;
> e.g.,
> \newcommand{\verbatimfile}[1]%
> ␣␣␣␣␣␣␣␣␣␣␣{\begin{verbatim}\input{#1}\end{verbatim}}
> does not work; nor does
> \newcommand{\verbatimfile}[1]{\verbatim\input{#1}\endverbatim}
>
> Protože okolí com a res použitá v těle (opravené) definice příkazu \skus
> právě tohle dělají, uvedená konstrukce zřejmě není možná.
>
> Vámi zmiňované konstrukce
>
> \newcommand{\skus}[2]{#1}{
>
> a
>
> b) \newcommand{\skus}[2]{#1#2}{
>
> nedávají smysl, jak už psal pan Wagner. Doporučuji podívat se do nějaké
> příručky LaTeXu na syntaxi příkazu \newcommand.
> Základ popsal pan Wagner. To, co bude v té další otevřené závorce, tj.
>
> \setlength\topsep{-5pt}
>
> \definecolor{shadecolor}{rgb}{1, .49, .5}
>
> \begin{com}
>
> #1
>
> \end{com}
>
> \definecolor{shadecolor}{rgb}{.66, .66, .9}
>
> \begin{res}
>
> #2
>
> \end{res}
>
> nepatří k definici a bude prováděno jedinkrát v místě definice, tj. zřejmě
> před \begin{document}, a vyvolá chybu.
>
> Váš první příkaz \newcommand{\skus}[2]{#1} má dva argumenty a jeho tělo
> je  #1, takže při volání \skus{prikaz}{vysledok} opíše argument prikaz a
> ignoruje argument vysledok.
>
> Váš druhý příkaz \newcommand{\skus}[2]{#1#2} má dva argumenty a jeho tělo
> je  #1#2, takže při volání \skus{prikaz}{vysledok} opíše vedle sebe
> argumenty prikaz a  vysledok.
>
> Rozhodně se na argumenty prikaz a vysledok nebude aplikovat konstrukce,
> kterou byste si přál.
>
> Zdraví
>
>     Jaromír Kuben
>
>
> Dne 4. 7. 2021 v 15:54 peter knezel napsal(a):
>
> Dobry den pan Wagner,
>
> vdaka za pripomienky. Prepisal som tex subor:
>
> \documentclass{article}
>
> \usepackage{framed,color,verbatim}
>
> %...define color of command background for next environment
>
> \newenvironment{com}%
>
> {\snugshade\verbatim}%
>
> {\endverbatim\endsnugshade}
>
> \newenvironment{res}%
>
> {\snugshade\verbatim}%
>
> {\endverbatim\endsnugshade}
>
> \newcommand{\skus}[2]{
>
> \setlength\topsep{-5pt}
>
> \definecolor{shadecolor}{rgb}{1, .49, .5}
>
> \begin{com}
>
> #1
>
> \end{com}
>
> \definecolor{shadecolor}{rgb}{.66, .66, .9}
>
> \begin{res}
>
> #2
>
> \end{res}
>
> }
>
> \begin{document}
>
> \skus{prikaz}{vysledok}
>
> \skus{prikazx}{vysledokx}
>
> \\
>
> Vzor - priamo zapisany text
>
> \setlength\topsep{-5pt}
>
> \definecolor{shadecolor}{rgb}{1, .49, 0.0}
>
> \begin{com}
>
> line one
>
> \end{com}
>
> \definecolor{shadecolor}{rgb}{.66, .66, .66}
>
> \begin{res}
>
> res line one
>
> res line two
>
> res line two
>
> \end{res}
>
> text pisany za tabulkou.
>
> \end{document}
>
> konci chybou:
>
> )
>
> Runaway argument?
>
> vysledok \end {res}
>
> ! Paragraph ended before \verbatim@ was complete.
>
> <to be read again>
>
> \par
>
> l.28 \skus{prikaz}{vysledok}
>
> a) aspon nieco dostanem na vystupe - aj ked zly vysledok, ak pouzijem v
> 14. riadku:
>
> \newcommand{\skus}[2]{#1}{
>
> alebo:
>
> b) \newcommand{\skus}[2]{#1#2}{
>
> S pozdravom,
>
> PeterKnezel
>
> _______________________________________________
> csTeX mailing listcsTeX at cs.felk.cvut.czhttps://lists.felk.cvut.cz/mailman/listinfo/cstex
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20210705/d3b1638f/attachment.htm>


More information about the csTeX mailing list