[cstex] mezera na začátku řádku

Jan Sustek Jan.Sustek at seznam.cz
Tue May 29 14:04:32 CEST 2012


Nevidim duvod, proc by to melo zrat prvni token. Po precteni jej normalne vrati do cteci fronty. Nasledujici kod mi funguje spravne.

\documentclass{article}
\def\smazmezeru#1{#1}
 \newcommand{\osloveni}[1]{%
 #1%
 \par
 \medskip
 \noindent
 \smazmezeru
 }
 \begin{document}
 \osloveni{cus}blabla
 \end{document}

Kazdopadne souhlasim s pouzitim primitivu \ignorespaces, ktery se mi jevi jako lepsi nez makro, napriklad v pripade, ze by se s tim jednim tokenem nejak hloubeji pracovalo.

JS

> ------------ Původní zpráva ------------
> Od: Zdenek Wagner <zdenek.wagner at gmail.com>
> Předmět: Re: [cstex] mezera na začátku řádku
> Datum: 29.5.2012 13:53:02
> ----------------------------------------
> Dne 29. května 2012 13:17 Jan Sustek <Jan.Sustek at seznam.cz> napsal(a):
> > Dobry den,
> >
> > ta mezera tam vznikla z te mezery mezi slozenou zavorkou a bla. Jde na to
> pouzit trik pomoci makra
> > \def\smazmezeru#1{#1}
> 
> Ja bych tam radeji dal \ignorespaces. Vyse uvedene makro spolkne prvni
> token, takze pokud pri pouziti makra bude text hned za zavorkou bez
> mezery, ztrati se prvni pismeno. Naproti tomu \ignorespaces spolkne
> pouze mezery.
> 
> > ktere jakoby jenom kopiruje argument, ale ve skutecnosti take smaze mezeru
> pred timto argumentem, protoze expand procesor TeXu odstranuje mezery pred
> nacitanym neoddelenym argumentem. Zmente Vase makro nasledovne:
> > \newcommand{\osloveni}[1]{%
> >    #1%
> >    \par
> >    \medskip
> >    \noindent
> >    \smazmezeru
> > }
> >
> > Zdravi
> > Honza Sustek
> >
> >
> >> ------------ Původní zpráva ------------
> >> Od: Marek Nožka <marek at tlapicka.net>
> >> Předmět: [cstex] mezera na začátku řádku
> >> Datum: 29.5.2012 13:11:42
> >> ----------------------------------------
> >> Dobrý den,
> >>
> >> rád bych vás požádal o pomoc s malým makrem, pomocí kterého chci psát
> >> oslovení do dopisů.
> >>
> >> Makro vypadá takto:
> >>
> >> \newcommand{\osloveni}[1]{%
> >>     #1%
> >>     \par%
> >>     \medskip%
> >>     \par%
> >>     \noindent%
> >> }
> >>
> >> Takže
> >>
> >> \oslovení{Vážený pane,} bla bla bla
> >>
> >> by se měl sázet takto:
> >>
> >>    Vážený pane,
> >>
> >> bla bla bla
> >>
> >> bohužel sem mi ale před "bla bla bla" na začátku řádku dělá mezera. Dokážu
> >> vytušit proč tam je, ale neznám trik jak ji zakázat. Můžete mi prosím
> >> poradit.
> >>
> >> Předem díky za každý nápad.
> >>
> >>     Marek
> >>
> >> --
> >>  @ @ @           Marek Nožka
> >>  '****.@
> >>  :*****`@   email: marek <@t> tlapicka <d.t> net
> >>  `*****'   jabber: tlapicka <@t> jabber <d.t> spseol <d.t> cz
> >>   :****:      web: http://tlapicka.net/
> >>   `****'
> >>   `****'   Powered by Debian GNU/Linux
> >>   `.**'
> >>     ¨¨
> >>
> >> _______________________________________________
> >> csTeX mailing list
> >> csTeX at cs.felk.cvut.cz
> >> http://lists.felk.cvut.cz/mailman/listinfo/cstex
> >>
> >>
> >>
> >
> > _______________________________________________
> > csTeX mailing list
> > csTeX at cs.felk.cvut.cz
> > http://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> 
> 
> -- 
> Zdeněk Wagner
> http://hroch486.icpf.cas.cz/wagner/
> http://icebearsoft.euweb.cz
> 
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
> 
> 
> 




More information about the csTeX mailing list