Archiv verlassen und diese Seite im Standarddesign anzeigen : Rahmen um einzelnen \item-Eintrag
Hallo
Ich möchte um einen einzelnen Eintrag einer \description-Umgebung einen Rahmen setzen, etwa in der Art
\documentclass{scrartcl}
\begin{document}
\begin{description}
\item[Eintrag 1] Text\par\noindent
\framebox{\parbox{\linewidth}{
\item[Eintrag 2] Text im Rahmen}}
\item[Eintrag 3] Mehr Text
\end{description}
\end{document}
Nachteile dieser Vorgehensweise sind:
Der Rahmen umschließt das Label "Eintrag 2" nicht vollständig.
Das Label "Eintrag 2" ist nicht bündig unter den anderen Labels.
Die Packages framed, boites helfen nicht weiter.
Hat jemand einen Vorschlag für ein Makro \itemframed o.ä., welches obige Nachteile beseitigt?
Hat jemand einen Vorschlag für ein Makro \itemframed o.ä., welches obige Nachteile beseitigt?
Mit ein wenig Fummelei ...
\documentclass{scrartcl}
\begin{document}
\begin{description}
\item[Eintrag 1] Text
\item[Eintrag 2] \leavevmode\put(-60,0){\fbox{\makebox[5cm][l]{%
\phantom{\textbf{Eintrag 2}} Text im Rahmen}}}
\item[Eintrag 3] Mehr Text
\end{description}
\end{document}
Herbert
Vielen Dank für die schnelle Antwort, Herbert Voss.
Ich habe den Voschlag getestet; funktioniert prima.
Bei einem längeren Text im Rahmen macht makebox allerdings keinen Zeilenumbruch. Ich habe makebox durch parbox ersetzt und musste dann auch den \phantom-Befehl durch einen \hspace ersetzen. Nun ist ein Rahmen um einen langen Text (mit Zeilenumbruch) möglich:
\documentclass{scrartcl}
\begin{document}
\begin{description}
\item[Eintrag 1] Text
\item[Eintrag 2] \leavevmode\put(-60,0){\fbox{\makebox[16cm][l]{%
\phantom{\textbf{Eintrag 2}} Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen}}}
\item[Eintrag 3] \leavevmode\put(-60,0){\fbox{\parbox[t]{16cm}{%
\hspace*{2cm} Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }}}
\item[Eintrag 4] Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\end{description}
\end{document}
Allerdings geht die Einrückung verloren.
Weiss jemand hier Abhilfe?
Bei einem längeren Text im Rahmen macht makebox allerdings keinen Zeilenumbruch. Ich habe makebox durch parbox ersetzt und musste dann auch den \phantom-Befehl durch einen \hspace ersetzen. Nun ist ein Rahmen um einen langen Text (mit Zeilenumbruch) möglich:
Allerdings geht die Einrückung verloren.
\documentclass{scrartcl}
\usepackage{calc}
\begin{document}
\begin{description}
\item[Eintrag 1] Text
\item[Eintrag 2] fooo
\item[Eintrag 3] \leavevmode\put(-60,0){\fbox{\parbox[t]{\textwidth+2\fboxsep}{%
\setlength\hangindent{\leftmargin+\labelwidth+\lab elsep}%
\mbox{}\phantom{\textbf{Eintrag 3}} Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }}}
\item[Eintrag 4] Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
\end{description}
\end{document}
Herbert
Vielen Dank. Diese Konstruktion macht genau das, was ich wollte.
Lässt sich das Ganze auch ohne Fummelei in einem Makro erledigen?
Insbes. die Befehle
\put(-60,0) und
\phantom{\textbf{Eintrag 3}} müssen bei längeren bzw. kürzeren Labels von Hand angepasst werden.
Noch eine Frage: Welche Maßeinheit benutzt der \put-Befehl?
mechanicus
11-12-2010, 13:53
Hi,
\documentclass{scrartcl}
\usepackage{calc}
\usepackage{showframe}
\makeatletter
\newsavebox\MyBox
\newcommand\FItem[2]{%
\item[]\relax%
\hspace*{-\labelsep}%
\fbox{\parbox{\textwidth-2\fboxsep-2\fboxrule}{%
\dimen@\linewidth
\advance\dimen@ -\leftmargin
\parshape=2 0\hsize \linewidth%
\leftmargin \dimen@%
{\descfont#1}\hspace*{\labelsep} #2}}%
}
\makeatother
\begin{document}
\begin{description}
\item[Eintrag 1] Text\par\noindent
\FItem{Eintrag 2a}{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\item[Eintrag 3]Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen
\end{description}
\end{document}
Gruß
Marco
Lässt sich das Ganze auch ohne Fummelei in einem Makro erledigen?
Insbes. die Befehle
\put(-60,0) und
\phantom{\textbf{Eintrag 3}} müssen bei längeren bzw. kürzeren Labels von Hand angepasst werden.
Noch eine Frage: Welche Maßeinheit benutzt der \put-Befehl?
und hier, wenn alle Items exakt links anfangen sollen.
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{calc,picture}
\makeatletter
\newcommand\fboxitem[2][]{%
\setlength\@tempdima{\widthof{\descfont#1}}%
\addtolength\@tempdima{\labelsep+\fboxsep+\fboxrul e}%
\item[#1]\leavevmode\put(-\the\@tempdima,0){%
\fbox{\parbox[t]{\textwidth}{%
\let\hangindent\leftmargin%
\mbox{}\phantom{\descfont#1}\kern\labelsep#2}}}}
\makeatother
\begin{document}
\begin{description}
\item[Eintrag 1] Text
\item[Eintrag 3]Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen
\fboxitem[Eintrag 4]{Text}
\fboxitem[4a]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[Eintrag Sechsundsechzig]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[1]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[12]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[123]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[1234]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[12345]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\fboxitem[123456]{Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen Text im Rahmen }
\end{description}
\end{document}
\put erwartet eine Zahl in der EInheit \unitlength oder wenn man das Paket
picture lädt kann es auch irgendwas sein.
Herbert
Herzlichen Dank an Herbert Voss und mechanicus.:)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.