Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

rahmenlose \fbox?

139 views
Skip to first unread message

Ulrich D i e z

unread,
May 21, 2009, 4:11:28 AM5/21/09
to
In LaTeX ist die \fbox wie folgt definiert:

\newcommand\fbox[1]{%
\leavevmode
\setbox\@tempboxa\hbox{%
\color@begingroup
\kern\fboxsep{#1}%
\kern\fboxsep
\color@endgroup
}%
\@frameb@x\relax
}%

\newcommand*\@frameb@x[1]{%
\@tempdima\fboxrule
\advance\@tempdima\fboxsep
\advance\@tempdima\dp\@tempboxa
\hbox{%
\lower\@tempdima
\hbox{%
\vbox{%
\hrule\@height\fboxrule
\hbox{%
\vrule\@width\fboxrule
#1%
\vbox{%
\vskip\fboxsep
\box\@tempboxa
\vskip\fboxsep
}%
#1%
\vrule\@width\fboxrule
}%
\hrule\@height\fboxrule
}%
}%
}%
}%

Ich mᅵchte nun zwei Versionen eines Dokuments erstellen, die
sich ausser in einer Sache in gar nichts unterscheiden und diese
eine Sache ist, dass manchmal der Rahmen um eine \fbox nicht da
sein, der Text aber exakt so positioniert sein soll, als ob er
da wᅵre.

Reicht es aus, dazu die \hrule und \vrule in \@frameb@x durch
entsprechende \kern zu ersetzen, oder stellt das Untenstehende
einen Denkfehler dar?

\newcommand\framelessfbox[1]{%
\leavevmode
\setbox\@tempboxa\hbox{%
\color@begingroup
\kern\fboxsep{#1}%
\kern\fboxsep
\color@endgroup
}%
\frameless@frameb@x\relax
}%

\newcommand*\frameless@frameb@x[1]{%
\@tempdima\fboxrule
\advance\@tempdima\fboxsep
\advance\@tempdima\dp\@tempboxa
\hbox{%
\lower\@tempdima
\hbox{%
\vbox{%
\kern\fboxrule
\hbox{%
\kern\fboxrule
#1%
\vbox{%
\vskip\fboxsep
\box\@tempboxa
\vskip\fboxsep
}%
#1%
\kern\fboxrule
}%
\kern\fboxrule
}%
}%
}%
}%

Ulrich

Ulrich D i e z

unread,
May 21, 2009, 4:17:43 AM5/21/09
to

sich ausser in einer Sache in gar nichts unterscheiden. Diese
eine Sache ist, dass manchmal der Rahmen, der mittels \fbox
erzeugt wird, wird nicht da sein, der Text aber exakt so

Axel Berger

unread,
May 21, 2009, 7:25:00 AM5/21/09
to
*Ulrich D i e z* wrote on Thu, 09-05-21 10:17:

>Diese eine Sache ist, dass manchmal der Rahmen, der mittels \fbox
>erzeugt wird, wird nicht da sein, der Text aber exakt so positioniert
>sein soll, als ob er da wSigmre.

Ich w�rde den Rahmen wei� malen.

Ulrike Fischer

unread,
May 21, 2009, 8:23:28 AM5/21/09
to
Am Thu, 21 May 2009 10:17:43 +0200 schrieb Ulrich D i e z:

> In LaTeX ist die \fbox wie folgt definiert:


> Ich m�chte nun zwei Versionen eines Dokuments erstellen, die


> sich ausser in einer Sache in gar nichts unterscheiden. Diese
> eine Sache ist, dass manchmal der Rahmen, der mittels \fbox
> erzeugt wird, wird nicht da sein, der Text aber exakt so

> positioniert sein soll, als ob er da w�re.

>
> Reicht es aus, dazu die \hrule und \vrule in \@frameb@x durch
> entsprechende \kern zu ersetzen, oder stellt das Untenstehende
> einen Denkfehler dar?

Geht nicht einfach

\advance\fboxsep by \fboxrule\relax
\fboxrule=0pt\relax

?


--
Ulrike Fischer

Ulrich D i e z

unread,
May 21, 2009, 10:33:08 AM5/21/09
to
Ulrike Fischer schrieb:

Dachte ich zun�chst auch, doch ich bin sogleich an dem
Szenarium gescheitert, dass innerhalb einer \fbox nur eine
der beiden L�ngen \fboxrule bzw \fboxsep benutzt wurde,
um Ma�e und Positionierung anderer sich in der \fbox
befindlichen Boxen zu berechnen.

Ma�e und Positionierung dieser anderen Boxen �nderten
sich also, da in deren Berechnung die �nderung der
einen L�nge nicht durch die ebenfalls erfolgte �nderung
der anderen L�nge kompensiert worden war.

Ich m�sste f�r 120 verschiedene Boxen die Formeln f�r
die Berechnung der L�ngen etc nachbessern und ich dachte,
vielleicht ist es einfacher, statt dessen eine Box zu konstruieren,
die genau gleich funktioniert, wie \fbox, bloss, dass keine Linien
gezogen, sondern statt dessen Zwischenr�ume eingef�gt werden.

An diesem Ansatz m�chte ich festhalten. Mir geht es darum,
ob ich ihn auf die richtige Art und Weise realisiert habe, oder
ob es bei \kern irgendwelche Dinge zu beachten gilt, die
f�r \hrule bzw \vrule nicht gelten -- zB irgendwelche Sonderregeln
f�r das Einf�gen bzw Belassen von dem, was im TeXbook so
nett "...glue" und "...skip" genannt wird.

Ulrich

Ulrich D i e z

unread,
May 21, 2009, 10:32:14 AM5/21/09
to
Axel Berger schrieb:

Ein Rahmen in der Farbe "weiss" ist etwas anderes als
kein Rahmen. Das merkst Du sp�testens dann, wenn
Du Farbdrucke auf rotem Papier mit einer Maschine
ausgeben l�sst, die auch die Farbe "wei�" produzieren
kann.

Ich m�chte eine Box konstruieren, die genau gleich
funktioniert wie \fbox, bloss, dass keine Linien gezogen,


sondern statt dessen Zwischenr�ume eingef�gt werden.

An diesem Ansatz m�chte ich festhalten. Mir geht es
darum, ob ich ihn auf die richtige Art und Weise realisiert

habe oder ob es bei \kern irgendwelche Dinge zu beachten

0 new messages