Seite 1 von 1
Rahmen um Grafik und Listing nicht gleich breit
Verfasst: Do 16. Jan 2014, 17:36
von Crys
\documentclass[demo]{scrartcl}
\usepackage{calc}
\usepackage{showframe}
\usepackage{graphicx}
\setlength{\parindent}{0pt}
\usepackage{listings}
\lstset{frame=single, captionpos=b}
\begin{document}
\begin{figure}[tbp!]
\fbox{%
\parbox{\textwidth-2\fboxsep-2\fboxrule}{
\centering
\includegraphics[width=.5\textwidth]{hinweisboxen}
}%
}
\caption{Bild mittig und der Rahmen stimmt}
\end{figure}
\begin{figure}[tbp!]
\fbox{
\parbox{\textwidth-2\fboxsep-2\fboxrule}{
\centering
\includegraphics[width=.5\textwidth]{hinweisboxen}
}
}
\caption{Bild nicht mittig und der Rahmen ist nach rechts verschoben}
\end{figure}
\begin{lstlisting}[caption=Der Rahmen ist breiter als der Bild Rahmen]
\begin{figure}[tbp!]
\includegraphics[width=\textwidth]{logo_sence}
\end{figure}
\end{lstlisting}
\end{document}
1.) Ich möchte das der Rahmen um meine Bilder und den Quelltexten gleich breit ist. Wie bekomme ich das hin?
2.) Wieso ist der Rahmen in Abb. 2 nach rechts verschoben, nur weil ich keine % nach den Klammern gemacht habe?
Ich sehe oft das man % nach Klammern macht, verstehe aber nicht wieso, weil in der selben Zeile steht ja nichts mehr und nur das wird ja auskommentiert!?
3.) Kann man den Rahmen um Bilder einfacher definieren?
Das ist halt schon ein 4-Zeiler. Gibt es da kein einfachen Parameter oder Paket, dass das für einen übernimmt?
Verfasst: Do 16. Jan 2014, 18:48
von Studi
1. Setze framesep auf 0:
\begin{lstlisting}[caption=...,framesep=0pt]
bzw.
\lstset{frame=single, captionpos=b.framesep=0pt}
2. Ein Zeilenende wirkt wie ein Leerzeichen, so kann man das verhindern. Siehe:
Was sollen die Kommentar-Zeichen (%) am Ende der Zeilen?
3. Mach Dir notfalls selber ein Makro zum Abkürzen. Es gibt einige Rahmenpakete (wie framed, mdframed), doch die bringen eher viele Features und komfortables Einstellen, als Deinen Bedarf zufällig genau zu treffen, denke ich. Anschauen lohnt sich aber, auch wenn man am Ende sich ein angepasstes kleines Makro macht, was einen Paketbefehl verwendet. Oder wie gesagt, mach Dir Makro oder Umgebung selbst.
Studi
Verfasst: Fr 17. Jan 2014, 10:26
von Crys
Vielen Dank. Perfekte Antworten
Eine letzte Frage habe ich noch:
Den Rahmen um die Listings finde ich ansprechender, wenn "framesep=3pt" ist. Wie kann man den Rahmen um die Bilder auch so angleichen?
Wenn ich mit den Breitenangaben spiele, dann verschiebt sich das nur nach rechts ...
Verfasst: Fr 17. Jan 2014, 14:55
von Studi
Du könntest \fboxsep verändern (mit \setlength). Doch dann nicht den Wert wieder in der parbox abziehen. Ggf. Grafik mit
\makebox-Trick zentrieren auf volle (Über-)Breite.