PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mehrzeiligen Text mit formatierung umranden



tegger
31-08-2009, 17:17
Hi,

ich versuche einen Text mit Formatierungen zu umranden


\lstset{language=C++}
\begin{lstlisting}[breaklines=true]

\end{lstlisting}

\begin{itemize}
\item
\item
\item
\end{itemize}

jedoch scheitert da fbox...
Was könnte ich alternativ nehmen ?

bischi
31-08-2009, 17:24
minipage drum herum - und dann fbox ;-)

Aber schau mal in der listings-Doku nach - das kannst du da auch so einstellen :)

MfG Bischi

tegger
31-08-2009, 17:32
EDIT: sorry...eigenen fehler gemerkt :)
so ists richtig...


\begin{minipage}{0.95\textwidth}

\begin{lstlisting}[breaklines=true]

\end{lstlisting}

\begin{itemize}
\item
\item
\item
\end{itemize}

\end{minipage}


jedoch krieg ich fbox immer noch nicht zum laufen



\fbox{
\begin{minipage}{0.95\textwidth}

\begin{lstlisting}[breaklines=true]

\end{lstlisting}

\begin{itemize}
\item
\item
\item
\end{itemize}

\end{minipage}
}

bobmalaria
31-08-2009, 17:44
hi,

gewöhne dir an beispiele zu ertsellen die jeder kompilieren kann. also dokumentenklasse und alle relevaten pakete. ansonsten bekommst du meinst nur schwammige antworten oder educated guesses weil sich der helfer ungefähr vorstellen kann was du so veranstaltest.

außerdem ist "geht nicht", "bring ich nicht zum laufen" und so weiter nicht wirklich hilfreich. eine genaue fehlermeldung hilft da deutlich mehr.

hast du


\fbox{%
\begin{minipage}{1\textwidth}
..
\end{minipage}
}


versucht. eine minipage geht natürlich nicht wenn die geschichte über eine seite lang ist. dann musst du das paket framed verwenden

tegger
31-08-2009, 19:26
alles klar...

dann hier mal Quellcode mit allem


\documentclass[a4paper,12pt]{scrartcl}
\usepackage[left=3cm,right=3cm,top=3cm,bottom=3cm,includeheadf oot]{geometry}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{setspace}
%\usepackage[utf8]{inputenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
\usepackage{color}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{eso-pic}
%\usepackage{watermark}
\usepackage{color}
\usepackage{amsmath}
%\usepackage{chngcntr}
\usepackage{bibgerm}
\usepackage{listings}

\onehalfspacing
\setlength{\parskip}{0.4cm}

%Kopf- und Fußzeile
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}

%Kopfzeile mittig
\fancyhead[C]{\nouppercase{\leftmark}}
%Linie oben
\renewcommand{\headrulewidth}{0.5pt}

%Fußzeile links bzw. innen
\fancyfoot[L]{ein Bild}
%Fußzeile mittig
\fancyfoot[C]{\thepage}
%Fußzeile rechts bzw. außen
\fancyfoot[R]{und noch ein Bild}
%Linie unten
\renewcommand{\footrulewidth}{0.5pt}

\begin{document}

\section*{Quellcode}

\subsection*{Quellcodevorgabe}
\lstset{language=C++}

\fboxrule 1mm\fboxsep 3mm
\fbox{%
\begin{minipage}{0.95\textwidth}
\begin{lstlisting}[breaklines=true]
ein Codeschnipsel dass dann ungefähr eine länge wie diese Zeichenkette hier jetzt hat.......noch ein bisschen....und noch ein bissschenn.................
\end{lstlisting}
\begin{itemize}
\item schnipesel 1 macht das
\item schnipesel 2 macht das
\item schnipesel 3 macht jenes
\item schnipesel 4 macht auch was
\item schnipesel 5 macht noch mehr
\item schnipesel 6 kann das auch
\item schnipesel 7 will nicht mehr
\item Result: Das gibt was zurück :P
\end{itemize}
\end{minipage}
}
\end{document}

und die Fehlermeldung von PDFlatex ab erstem Fehler


! Argument of \lst@next has an extra }.
<inserted text>
\par
l.68 }
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.
Runaway argument?
! Paragraph ended before \lst@next was complete.
<to be read again>
\par
l.68 }
I suspect you've forgotten a `}', causing me to apply this
control sequence to too much text. How can we recover?
My plan is to forget the whole thing and hope for the best.
! Extra }, or forgotten \endgroup.
\fbox ...xsep {#1}\kern \fboxsep \color@endgroup }
\@frameb@x \relax
l.68 }
I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.
! LaTeX Error: \begin{lstlisting} on input line 68 ended by \end{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.69 \end{document}
Your command was ignored.
Type I <command> <return> to replace it with another command,
or <return> to continue without it.
(D:\UNI\Studienarbeit\test.aux)
! You can't use `\end' in internal vertical mode.
\enddocument ... \endgroup \deadcycles \z@ \@@end
l.69 \end{document}
Sorry, but I'm not programmed to handle this case;
I'll just pretend that you didn't ask for it.
If you're in the wrong mode, you might be able to
return to the right one by typing `I}' or `I$' or `I\par'.
! LaTeX Error: \begin{lstlisting} on input line 68 ended by \end{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.69 \end{document}
Your command was ignored.
Type I <command> <return> to replace it with another command,
or <return> to continue without it.
)
! Emergency stop.
<*> test.tex
*** (job aborted, no legal \end found)
Here is how much of TeX's memory you used:
5858 strings out of 495285
79600 string characters out of 3180881
164924 words of memory out of 3000000
8998 multiletter control sequences out of 15000+200000
7778 words of font info for 20 fonts, out of 3000000 for 9000
14 hyphenation exceptions out of 8191
36i,7n,58p,294b,1166s stack positions out of 5000i,500n,10000p,200000b,50000s
! ==> Fatal error occurred, no output PDF file produced!

bischi
31-08-2009, 19:59
Wie gesagt - schau in der listings-Doku nach: Das Paket kann das automatisch!!!

MfG Bischi

u_fischer
31-08-2009, 21:47
Quellcode "mit allem" ist auch nicht gut. Mache vollständige, aber möglichst kleine Beispiele.

Abgesehen davon: Du kannst keine listings/\verb/verbatim in einem Argument eines anderen Befehls benutzen, also auch nicht im Argument von \fbox. Benutze die Rahmen von listings, oder framed. Es gibt auch ein boxedminipage.sty.

tegger
31-08-2009, 22:37
listing mit listing funktioniert nicht, bzw krieg ichs nicht hin


Edit:

boxedminipage funktioniert
endlich :)

Xenara
01-09-2009, 08:50
Mit listings funktionierts doch ganz einfach -> s.u.
Aus deinem Code habe ich mal alles auskommentiert, was hierfür unnötig war. Btw, du lädst zweimal \usepackage{color}, statt \usepackage{ngerman} besser \usepackage[ngerman]{babel}, \usepackage{graphics} weglassen, du lädst ja graphicx.
Lies dir mal die Doku zu listings durch (auf deinem Rechner oder hier (ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf)), es lohnt sich echt, denn man hat damit so viele Möglichkeiten.


\documentclass[a4paper,12pt]{scrartcl}
%\usepackage[left=3cm,right=3cm,top=3cm,bottom=3cm,includeheadf oot]{geometry}
\usepackage[T1]{fontenc}
%\usepackage{textcomp}
%\usepackage{setspace}
%\usepackage[utf8]{inputenc}
\usepackage[latin1]{inputenc}
\usepackage{ngerman}
%\usepackage{color}
%\usepackage{graphics}
%\usepackage{graphicx}
%\usepackage{eso-pic}
%\usepackage{watermark}
%\usepackage{color}
%\usepackage{amsmath}
%\usepackage{chngcntr}
%\usepackage{bibgerm}
\usepackage{listings}

%\onehalfspacing
%\setlength{\parskip}{0.4cm}

%Kopf- und Fußzeile
%\usepackage{fancyhdr}
%\pagestyle{fancy}
%\fancyhf{}

%%Kopfzeile mittig
%\fancyhead[C]{\nouppercase{\leftmark}}
%%Linie oben
%\renewcommand{\headrulewidth}{0.5pt}

%%Fußzeile links bzw. innen
%\fancyfoot[L]{ein Bild}
%%Fußzeile mittig
%\fancyfoot[C]{\thepage}
%%Fußzeile rechts bzw. außen
%\fancyfoot[R]{und noch ein Bild}
%%Linie unten
%\renewcommand{\footrulewidth}{0.5pt}

\begin{document}

\section*{Quellcode}

\subsection*{Quellcodevorgabe}
\lstset{language=C++, frame=single}

%\fboxrule 1mm\fboxsep 3mm
%\fbox{%
%\begin{minipage}{0.95\textwidth}
\begin{lstlisting}[breaklines=true]
ein Codeschnipsel dass dann ungefähr eine länge wie diese Zeichenkette hier jetzt hat.......noch ein bisschen....und noch ein bissschenn.................
\end{lstlisting}
\begin{itemize}
\item schnipesel 1 macht das
\item schnipesel 2 macht das
\item schnipesel 3 macht jenes
\item schnipesel 4 macht auch was
\item schnipesel 5 macht noch mehr
\item schnipesel 6 kann das auch
\item schnipesel 7 will nicht mehr
\item Result: Das gibt was zurück :P
\end{itemize}
%\end{minipage}
%}
\end{document}