PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : framebox zu breit



joseb
06-03-2011, 16:36
Hallo zusammen,

ich versuche gerade vergeblich eine Framebox an die Breite meiner DinA4 Seite anzupassen.
Stelle ich sie in Lyx auf 100% Spaltenbreite, ist sie links mit dem Text bündig, ragt aber rechts über den definierten Seitenrand von 2cm hinaus.
Wenn ich 99%Spaltenbreite für die Framebox einstelle, scheint es zu passen.
Aber es muss doch auch mit 100% gehen.

Antworten bitte für Latex-Newbie geben....

Hier noch ein Beispiel. Die Angaben zu den Seitenrändern sind leider von der Uni so vorgegeben:

__________________________________________


\documentclass[ngerman,13pt]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{geometry}
\geometry{verbose,tmargin=2cm,bmargin=3cm,lmargin= 2cm,rmargin=2cm}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{calc}
\usepackage{setspace}
\onehalfspacing
\usepackage{babel}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et
ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem
ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing
elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore
magna aliquyam erat, sed diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
sanctus est Lorem ipsum dolor sit amet.

\noindent %
\framebox{\begin{minipage}[t]{1\columnwidth}%
\noindent Lorem ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam
erat, sed diam voluptua. At vero eos et accusam et justo duo dolores
et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur
sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore
et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam
et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
takimata sanctus est Lorem ipsum dolor sit amet.%
\end{minipage}}
\end{document}

mechanicus
06-03-2011, 16:50
Hi,

ich habe dein Beispiel mal etwas kleiner gemacht. Ich möchte dir auch rate, von Lyx Abstand zu nehmen und einen "normalen" Tex-Editor ala Texmaker(X) zu nutzen.


\documentclass[ngerman,13pt]{scrreprt}
\usepackage{calc,lipsum}
\usepackage{showframe}

\begin{document}
\lipsum[1]
\noindent %
\framebox{%
\begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}%
\noindent \lipsum[2]
\end{minipage}%
}
\end{document}

Gruß
Marco

joseb
06-03-2011, 17:12
Hallo,

das lipsum-Packet ist ja interessant :-)

Ich arbeite mit Lyx, weil ich erst in Latex eingestiegen bin und ich mit dem Programm einen etwas leichteren Einstieg habe, ohne die ganzen Befehle beherrschen zu müssen. Aber da könnten wir natürlich auch einen Pro-/Contra-Thread aufmachen :-).

Der Code, so wie du in geschickt hast, funktioniert einwandfrei (zumindest in Texworks). Jetzt wäre es natürlich spannend, wie ich

a) die entsprechenden Eigenschaften der minipage auch in Lyx anwählen / eingeben kann (ich finde nämlich keine Fenster wo das möglichwäre)

Bzw.

b) ist es möglich die Einstellungen global in den Vorspann einzugeben, damit alle Boxen in meinem Dokument so definiert sind??


-----
kleine Ergänzung: Gebe ich die die Framebox als eigenständigen Latexbefehl innerhalb von Lyx ein, kann ich natürlich auch die Einstellungen mit angeben. Das heißt, es bleibt weiterhin die Frage nach einer globalen Einstellunge und ob man es irgendwo in Lyx über den Button "Box" einstellen kann.

rstuby
06-03-2011, 20:39
Im Notfall den ganzen minipage-Befehl als Tex-Code ("evil red text") einfügen...

Schweinebacke
07-03-2011, 07:24
Aber da könnten wir natürlich auch einen Pro-/Contra-Thread aufmachen :-).

Jetzt wäre es natürlich spannend, wie ich

a) die entsprechenden Eigenschaften der minipage auch in Lyx anwählen / eingeben kann (ich finde nämlich keine Fenster wo das möglichwäre)
Das hast Du Dein Contra-Argument bereits. Sobald man in LyX etwas machen will, was von den Programmierern so nicht vorgesehen ist, muss man ohnehin direkt LaTeX-Code eingeben. Am Ende hat man dann zwei Baustellen. Einmal muss man sich überlegen, wie man etwas mit LaTeX lösen kann, und zusätzlich muss man sich fragen, wie man das mit LyX am besten umgesetzt bekommt.



b) ist es möglich die Einstellungen global in den Vorspann einzugeben, damit alle Boxen in meinem Dokument so definiert sind??
Man könnte beispielsweise ein Paket wie mdframed (http://www.ctan.org/pkg/mdframed) verwenden, das Umgebungen für Rahmen bereitstellt, die außerdem über mehrere Seiten umbrochen werden können.

Man kann sich auch selbst einen neuen Rahmenbefehl basteln, der dan natürlich nicht über mehrere Seiten umbrochen werden kann:
\newcommand{\Kasten}[1]{%
\par% Wir wollen immer, dass das ein eigener Absatz ist
\smallskip% Ein kleiner vertikaler Abstand darüber wäre nicht schlecht
\noindent% Der Kasten soll nicht vom Absatzeinzug betroffen sein
\framebox{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{#1}}%
\par% Danach machen wir das wie davor auch
\smallskip
}Und wenn wir im usrguide (ist bei allen LaTeX-Distributionen dabei) ein wenig nachlesen, können wir sogar eine Umgebung daraus machen:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand{\Kasten}[1]{%
\par% Wir wollen immer, dass das ein eigener Absatz ist
\smallskip% Ein kleiner vertikaler Abstand darüber wäre nicht schlecht
\noindent% Der Kasten soll nicht vom Absatzeinzug betroffen sein
\fbox{\parbox{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}{#1}}%
\par% Danach machen wir das wie davor auch
\smallskip
}

\newsavebox{\KastenBox}% siehe usrguide, Seite 13
\newenvironment{KASTEN}{%
\par\medskip% nur zum Vergleich (es gibt auch noch \bigskip)
\begin{lrbox}{\KastenBox}% siehe usrguide, Seite 13
\begin{minipage}{\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}%
}{%
\end{minipage}%
\end{lrbox}%
\noindent\fbox{\usebox{\KastenBox}}%
\par\medskip
}

\begin{document}
\blindtext
\Kasten{\blindtext}
\blindtext
\begin{KASTEN}
\blindtext
\end{KASTEN}
\blindtext
\end{document}Ich habe hier einmal sowohl einen neuen Befehl als auch eine neue Umgebung vorgeführt.

joseb
07-03-2011, 07:33
Hallo zusammen!

Vielen Dank für die Antworten. Werde mich zunächst mal mit der "evil red text"-Lösung begnügen, weil sie mein akutes Problem erst mal unmittelbar löst.

Vielen Dank für die Hinweise!

rstuby
07-03-2011, 11:38
Und wenn du dann dein halbes Dokument voll ERT hast, weißt du, dass es Zeit für einen anderen Editor ist :-)
Jedenfalls war es bei mir so.