PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MDFramed mit Section*{}



slowfox
17-02-2011, 14:38
Ich verwende das MDFramed Paket um einzelne Textpassagen hervorzuheben. Diese Textpassagen leite ich mit \section*{...} ein. Der Section-Befehl verursacht einen zusätzlichen vertikalen Abstand, den ich nicht haben möchte. Dies habe ich mit "\csname @minipagetrue\endcsname" gelöst. Gibt es einen eleganteren Weg?


\documentclass[paper=a4]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}

\usepackage{csquotes}

\usepackage[style=1,backgroundcolor=gray!20,skipabove=\baselin eskip,skipbelow=\baselineskip]{mdframed}

\usepackage{blindtext}


\begin{document}

\chapter{Test}

\section{Test}

\blindtext

\begin{mdframed}
\csname @minipagetrue\endcsname
\section*{Exkurs}
\blindtext[1]
\end{mdframed}

\blindtext

\end{document}

Und eine weitere Frage: Beim erstellen eines Minimalbeispiels erhielt ich einen Fehler:

! LaTeX Error: \do undefined.

...

l.415 \mdfsetup{globalstyle=0}

Erst nachdem ich das csquotes-Paket wieder eingebunden habe, lief mein Beispiel durch. Benötigt das MDFramed-Paket irgendwelche anderen Pakete, ohne sicherzustellen, dass es diese Pakete auch lädt, oder ist mein System evtl. nicht up-to-date.

rais
17-02-2011, 23:32
Moin moin,

Ich verwende das MDFramed Paket um einzelne Textpassagen hervorzuheben. Diese Textpassagen leite ich mit \section*{...} ein. Der Section-Befehl verursacht einen zusätzlichen vertikalen Abstand, den ich nicht haben möchte. Dies habe ich mit "\csname @minipagetrue\endcsname" gelöst. Gibt es einen eleganteren Weg?

wie wär's mit \minisec?


Und eine weitere Frage: Beim erstellen eines Minimalbeispiels erhielt ich einen Fehler:

! LaTeX Error: \do undefined.

...

l.415 \mdfsetup{globalstyle=0}

Erst nachdem ich das csquotes-Paket wieder eingebunden habe, lief mein Beispiel durch. Benötigt das MDFramed-Paket irgendwelche anderen Pakete, ohne sicherzustellen, dass es diese Pakete auch lädt, oder ist mein System evtl. nicht up-to-date.
Afaics lädt mdframed alles, was es braucht:


\listfiles
\documentclass[paper=a4]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage[style=1,backgroundcolor=gray!20,skipabove=\baselin eskip,skipbelow=\baselineskip]{mdframed}

\begin{document}

\chapter{Test}

\section{Test}

\blindtext

\begin{mdframed}
\minisec{Exkurs}
\blindtext[1]
\end{mdframed}

\blindtext

\end{document}

->log:


*File List*
scrbook.cls 2011/01/25 v3.08 KOMA-Script document class (book)
scrkbase.sty 2011/01/25 v3.08 KOMA-Script package (KOMA-Script-dependent bas
ics and keyval usage)
scrbase.sty 2011/01/25 v3.08 KOMA-Script package (KOMA-Script-independent b
asics and keyval usage)
keyval.sty 1999/03/16 v1.13 key=value parser (DPC)
scrlfile.sty 2010/11/05 v3.08 KOMA-Script package (loading files)
tocbasic.sty 2010/10/01 v3.07a KOMA-Script package (handling toc-files)
scrsize11pt.clo 2011/01/25 v3.08 KOMA-Script font size class option (11pt)
typearea.sty 2011/01/25 v3.08 KOMA-Script package (type area)
inputenc.sty 2008/03/30 v1.1d Input encoding file
utf8.def 2008/04/05 v1.1m UTF-8 support for inputenc
t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
omsenc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
babel.sty 2008/07/06 v3.8l The Babel package
ngermanb.ldf 2008/07/06 v2.6n new German support from the babel system
blindtext.sty 2009/12/29 V1.9c blindtext-Package
xspace.sty 2006/05/08 v1.12 Space after command names (DPC,MH)
mdframed.sty 2010/12/22 v0.6a: mdframed
kvoptions.sty 2010/02/22 v3.7 Keyval support for LaTeX options (HO)
kvsetkeys.sty 2010/03/01 v1.9 Key value parser (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/message (HO)
etexcmds.sty 2010/01/28 v1.3 Prefix for e-TeX command names (HO)
etex.sty 1998/03/26 v2.0 eTeX basic definition package (PEB)
calc.sty 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
color.sty 1999/02/16
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
etoolbox.sty 2010/08/21 v2.0 e-TeX tools for LaTeX
tikz.sty 2010/10/13 v2.10 (rcs-revision 1.76)
pgf.sty 2008/01/15 v2.10 (rcs-revision 1.12)
pgfrcs.sty 2010/10/25 v2.10 (rcs-revision 1.24)
everyshi.sty 2001/05/15 v3.00 EveryShipout Package (MS)
pgfrcs.code.tex
pgfcore.sty 2010/04/11 v2.10 (rcs-revision 1.7)
graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pgfsys.sty 2010/06/30 v2.10 (rcs-revision 1.37)
pgfsys.code.tex
pgfsyssoftpath.code.tex 2008/07/18 (rcs-revision 1.7)
pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK)
color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
pgfcore.code.tex
pgfcomp-version-0-65.sty 2007/07/03 v2.10 (rcs-revision 1.7)
pgfcomp-version-1-18.sty 2007/07/23 v2.10 (rcs-revision 1.1)
pgffor.sty 2010/03/23 v2.10 (rcs-revision 1.18)
pgfkeys.sty
pgfkeys.code.tex
pgffor.code.tex
tikz.code.tex
md-frame-1.mdf 2010/12/22 v0.6a: md-frame-1
t1cmss.fd 1999/05/25 v2.5h Standard LaTeX font definitions
***********

MfG

slowfox
18-02-2011, 15:24
Ein Update meines Systems hat die Fehlermeldung von mdframed nun beseitigt...

\minisec ist leider auch keine Lösung für mein Problem, da es in diesem Fall auch einen zusätzlichen vertikalen Abstand vor der Überschrift erzeugt, den ich nicht haben möchte.

Meine Lösung zum Unterdrücken des vertikalen Abstands bei section hat sich als ungeeignet erwiesen, da das ganze einen ungewünschten Nebeneffekt hat. Bei zwei aufeinanderfolgen MDFrames verschluckt er den dazwischenliegenden Text:


\documentclass[paper=a4]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[ngerman]{babel}

\usepackage[style=0,linewidth=2pt]{mdframed}

\usepackage{blindtext}


\begin{document}


\blindtext

\begin{mdframed}
\csname @minipagetrue\endcsname
\section*{Exkurs}
\blindtext[1]
\end{mdframed}

Text dazwischen... Wo ist er?

\begin{mdframed}
\blindtext[1]
\end{mdframed}

\blindtext

\end{document}

Dies ist kein Fehler von MDFramed, sondern geht auf mein "\csname @minipagetrue\endcsname" zurück. Ich suche also weiterhin nach einer möglichkeit, den vertikalen Abstand vor einer Überschrift zu eliminieren.

rais
19-02-2011, 11:47
Moin moin,

Dies ist kein Fehler von MDFramed, sondern geht auf mein "\csname @minipagetrue\endcsname" zurück. Ich suche also weiterhin nach einer möglichkeit, den vertikalen Abstand vor einer Überschrift zu eliminieren.
warum schaltest Du diesen @minipage nicht wieder ab?


\csname @minipagetrue\endcsname
\section*{Exkurs}
\csname @minipagefalse\endcsname

Alternativ ließe sich dem Abstand auch mit einem negativen \vspace entgegenwirken, etwa


\begin{mdframed}
\vspace{-1.5\baselineskip}%<-- anpassen
\section*{Exkurs}
\blindtext[1]
\end{mdframed}

MfG

slowfox
19-02-2011, 16:45
Moin moin,

warum schaltest Du diesen @minipage nicht wieder ab?


Danke für den Hinweis, versuche das am Montag gleich mal.



Alternativ ließe sich dem Abstand auch mit einem negativen \vspace entgegenwirken, etwa


Das war mein erster Gedanke, habe es aber tatsächlich nicht ausprobiert, da ich nicht wusste welchen Abstand Section standardmäßig mit sich bringt. Aber handelt es sich bei dem Abstand vor einer Section um eine feste Länge oder eine Gummilänge?

tral
20-02-2011, 18:49
Hallo,

warum nimmst du nicht einfach nur die Schriftformatierung von \section (mit \usekomafont)?

Christian.

mechanicus
21-02-2011, 19:13
Dies ist kein Fehler von MDFramed, sondern geht auf mein "\csname @minipagetrue\endcsname" zurück. Ich suche also weiterhin nach einer möglichkeit, den vertikalen Abstand vor einer Überschrift zu eliminieren.
Ich muss leider derzeit ohne meinen Rechner und ohne LaTeX auskommen. Das Problem steht bereits auf meiner todo-liste. Vielleicht solltest du dir deinen eigenen section-Befehl mittel\@startsection bauen

Gruß
Marco

slowfox
21-02-2011, 20:18
Moin Marco,

herzlichen Dank für deine Mühen.

Zum Thema Abstände hätte ich noch zwei Feture-Wünsche, vielleicht finden die auch den Weg auf deine ToDo Liste. Ich nutze die Abstände skipabove und skipbelow. (1) Folgen nun zwei mdframes aufeinander, addieren sich anscheinend skipabove und skipbelow, was zu unschönen, zu großen Abständen führt. Ist es möglich abzufragen, ob zwei mdframes unmittelbar aufeinander folgen und dann ggf. alternativ einen neuen Abstand, z.B. skipbetween, einzufügen? (2) Folgt auf einen mdframe mit skipbelow unmittelbar eine Gliederungsüberschrift, dann addieren sich die Abstände. Kann dies Abgefragt werden und der doppelte Abstand vermieden werden?

Derzeit nutze ich die lokalen mdframe-Optionen um diese Probleme manuell zu lösen, ich würde mich aber freuen, wenn es automatisiert werden könnte. Danke!

Ciao, Marco

mechanicus
21-02-2011, 21:01
Hi,

das sollte eigentlich kein Problem mehr sein. Anbei meine Testversion, an der ich aber nicht arbeiten kann.

Gruß
Marco