Anzeige:
Ergebnis 1 bis 3 von 3

Thema: Bild neben Text mit automatischer Textbreite

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.02.2012
    Beiträge
    48

    Bild neben Text mit automatischer Textbreite

    Ich möchte sehr oft einen Text links neben einem Bild platzieren. Dabei sind die Bilder immer unterschiedlich groß und der Text unterschiedlich lang.
    Das ist eigentlich kein Problem, ich kann einfach zwei Minibox nebeneinander setzen. Was mich daran stört, ist aber der Aufwand. Ich muss zuerst das Bild skalieren und dann die beiden Boxen (für Text links und Bild rechts) auf die richtige Breite bringen. Wenn ich dann das Bild austauschen möchte geht alles von vorne los.

    Ich suche einfach eine Möglichkeit , dass Latex die Textbreite der Minibox für den Text anhand der Breite des Bildes automatisch berechnet. Mit wrapfigure geht das, macht mir aber andere Probleme beim Seitenumbruch und/oder wenn das Bild zu "lang" ist. Dann muss ich wieder von Hand "nachjustieren". Ein automatisches Umfließen des Bildes braucht ja auch nicht stattfinden.

    Hinweis: Wenn es denn funktioniert, möchte ich daraus ein Makro definieren und es in Lyx verwenden.
    Hier das Minimalbeispiel

    Code:
    \documentclass[11pt,ngerman]{article}
    \usepackage[T1]{fontenc}
    \usepackage[latin9]{inputenc}
    \usepackage{textcomp}
    \usepackage{graphicx}
    \usepackage{babel}
    \setlength{\parskip}{\smallskipamount}
    \setlength{\parindent}{0pt}
    
    \begin{document}
    
    \parbox[b]{0.7\columnwidth}{%
    Hier steht  viel oder wenig Text. Dabei soll die Textbreite automatisch nach der verbleibenden Restbreite der Seite neben dem Bild angepasst werden. D.h. der hier noch verwendete Parameter \texttt{0.7\textbackslash{}columnwidth} soll entfallen und automatisch berechnet werden.
    Der Text soll auch andere Elemente enthalten, wie z.B. Listen
    \begin{enumerate}
    	\item Listeneintrag 1
    	\item Listeneintrag 2
    \end{enumerate}
      %
    	Ferner sollte der Text  oben, neben dem Bild platziert werden und nicht wie hier unten.
    }
    \hfill
    \mbox{\includegraphics{Bild.jpg}}
    
    Die Position des nächsten Absatzes soll sich nach der jeweils längeren Komponente (Bild oder Text) richten und einfach unterhalb des längsten starten und wieder die ganze normale Seitenbreite in Anspruch nehmen
    
    \end{document}
    Bild.jpg

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Code:
    \documentclass[11pt,ngerman]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{textcomp}
    \usepackage{graphicx}
    \usepackage{babel}
    \setlength{\parskip}{\smallskipamount}
    \setlength{\parindent}{0pt}
    
    \newlength\mylength
    
    \newcommand\textnebenbild[2]{%
     \par\settowidth{\mylength}{#2}%
     \parbox[t]{\dimexpr\linewidth-\mylength-0.5cm}
      {#1\unskip\strut}\hfill\raisebox{\dimexpr-\height+\ht\strutbox}{#2}\par} 
    
    \begin{document}
    
    \textnebenbild{%
    Hier steht  viel oder wenig Text. Dabei soll die Textbreite automatisch nach der verbleibenden Restbreite der Seite neben dem Bild angepasst werden. D.h. der hier noch verwendete Parameter \texttt{0.7\textbackslash{}columnwidth} soll entfallen und automatisch berechnet werden.
    Der Text soll auch andere Elemente enthalten, wie z.B. Listen
    \begin{enumerate}
    	\item Listeneintrag 1
    	\item Listeneintrag 2
    \end{enumerate}
      %
    	Ferner sollte der Text  oben, neben dem Bild platziert werden und nicht wie hier unten.
    }
    {\includegraphics[width=4cm]{example-image-A}}
    
    Die Position des nächsten Absatzes soll sich nach der jeweils längeren Komponente (Bild oder Text) richten und einfach unterhalb des längsten starten und wieder die ganze normale Seitenbreite in Anspruch nehmen
    
    
    \textnebenbild{Hier steht  viel oder wenig Text.}
    {\includegraphics[width=4cm]{example-image-A}}
    
    
    
    Die Position des nächsten Absatzes soll sich nach der jeweils längeren Komponente (Bild oder Text) richten und einfach unterhalb des längsten starten und wieder die ganze normale Seitenbreite in Anspruch nehmen
    \end{document}
    Man kann natürlich auch eine tabularx nehmen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.02.2012
    Beiträge
    48
    Super!
    Vielen Dank! Genau das habe ich gesucht.

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •