Sziasztok!
tex/latex alatt hogyan lehet, ha lehet egyatalan egy mar letezo egyargumentumos parancsot kornyezette' atalakitani? Ha adott egy
\foo{valami}
egyargumentumos parancs, akkor lehet-e csinalni egy olyan
\begin{bar} valami \end{bar}
kornyezetet, ami az elobbi
\foo{...}
-t generalja le?
A.
- 1047 megtekintés
Hozzászólások
Érdekes a téma. Megoldást nem tudok, úgyhogy ötletelek. Hátha segít.
Ha simán megcsinálod, hogy
\def\vastag#1{\textbf{#1}}
majd használod enivonmentként, akkor csak az első betűt fogja vastagítani. Ha a következőképpen definiálod, akkor
\def\vastag#1 {\textbf{#1}}
az első szót vastagítja (ha nincs space, akkor pedig hibát ad). Elkezdtem olvasni plain.sty fájlt, ami ilyet csinál, de elég kacifántos. Gondolom köze van a
\@ifnextchar
részhez.
Ha összehoztad, akkor létszi írd le a megoldást.
- A hozzászóláshoz be kell jelentkezni
Aha, oke, kis alvas utan maris jobban megy: tehat, ez kell:
\begin{lrbox}{cmd} text \end{lrbox}
, majd az environment definiciojanak az end a'ga'ban felhasznalni:
pl:
\newsavebox{envvastagbox}
\newenvironment{envvastag}{\begin{lrbox}{envvastagbox}}{\end{lrbox}\textbf{\usebox{envvastagbox}}}
elvileg... mindjart kiderul jo-e :]
- A hozzászóláshoz be kell jelentkezni
Ha összehoztad, akkor létszi írd le a megoldást.
jaja, igen, a fenti megoldas mukodik. Igaz naivan nem lehet a parancsot beletenni, akkor ha a parancson belul vannak osszetettebb objektumok (pl minipage kornyezet), akkor azokat z lrbox env mogott rogton kell inditani es az end{lrbox} elott zarni, mintsem egy kulso parancsba beletenni. Imigyen fasza'n mukodik minden.
A.
- A hozzászóláshoz be kell jelentkezni