Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 19

Thema: Text und Bild nebeneinander oben bündig

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82

    Text und Bild nebeneinander oben bündig

    Hallo Zusammen,

    bisher hat mir diese Forum schon viel bei meinen ersten Schritten in LaTeX weitergeholfen. Jetzt stehe ich aber vor einem Problem wo ich nicht weiterkomme.
    Ich möchte ein Bild und Text nebeneinander oben bündig anordnen. Unten bündig ist kein Problem. Das habe ich über ein \parbox und eine \makebox oder zwei minipages hinbekommen.
    Hier ein Beispiel mit den Boxen:

    \fbox{
    \parbox[b][][t]{0.35\textwidth}{
    Tewxt \\
    \\
    Text \\
    \\
    Text
    }
    }
    \fbox{
    \makebox[0.65\textwidth][r]{
    \includegraphics[width=0.62\textwidth]{Welcome}
    }
    }

    Aber wie klappt das oben bündig? Ich möchte nur ungern eine feste Höhe vergeben. Außer wenn das der einzige Weg wäre.

    Vielen Dank und Grüße
    Dirk

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Prinzipiell besteht hier die Möglichkeit, die beiden Boxen vorher abzuspeichern
    (\savebox), zu vermessen und anschließend mit \raisebox korrekt zu
    platzieren. Ob es hierfür einfachere Lösungen gibt, kann ich momentan nicht
    sagen. Auf jeden Fall vereinfachst Du potenziellen Hilfswilligen die Arbeit,
    wenn Du ein Minimalbeispiel zur Verfügung stellst. Und das möglichst auch
    noch in der Code-Umgebung (#-Button).

    Code:
    \documentclass{scrartcl}
    \begin{document}
    \fbox{%
       \parbox[b][][t]{0.35\textwidth}{%
          Tewxt \\
          \\
          Text \\
          \\
          Text
       }
    }%
    \framebox[0.65\textwidth][r]{%
       \rule{0.6\linewidth}{3cm}
    }
    \end{document}

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Ein Bild ist wie ein große "A": Es "sitzt" normalerweise auf der aktuellen Grundlinie. Du musst es also verschieben:

    Code:
    \documentclass{article}
    
    \textwidth=20cm
    \begin{document}
    \noindent
    \fbox{\parbox[t]{1cm}{%
         Tewxt \\
               \\
          Text \\
               \\
         Text}}%
    \rule{0.5cm}{0.4pt}Grundlinie\rule{0.5cm}{0.4pt}     
    \fbox{\parbox[b]{1cm}{%
         Tewxt \\
               \\
          Text \\
               \\
         Text}}
    \rule{0.5cm}{0.4pt}Grundlinie\rule{0.5cm}{0.4pt}
    \fbox{\makebox{abc\rule{1cm}{7cm}}}
    \rule{0.5cm}{0.4pt}Grundlinie\rule{0.5cm}{0.4pt} 
    \fbox{\raisebox{-\height}{\makebox{abc\rule{1cm}{7cm}}}}
    
    \end{document}
    Pass außerdem etwas mit deinen Klammern auf: Du fügst an diversen Stellen Leerzeichen ein.

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Hallo Zusammen,

    vielen Dank für eure Antworten.
    Der Vollständigkeit halber hier nochmal mein Quellcode, diesmal lauffähig:
    Code:
    \documentclass{scrreprt}
    \usepackage{graphicx}
    
    \graphicspath{{./Graphiken/}}
    
    \begin{document}
    
    \chapter{Nr. 1}
    % erste Möglichkeit mit boxen
    \fbox{
    \parbox[b][][t]{0.35\textwidth}{
    	Text \\
    	\vfill
    	Text \\
    	\vfill
    	Text \\
    }
    }
    \fbox{
    \makebox[0.65\textwidth][r]{
    	\includegraphics[width=0.62\textwidth]{Welcome}
    }
    }
    
    \chapter{Nr. 1a}
    
    \fbox{\parbox[t]{0.3\textwidth}{
    	Text \\
    	\vfill
    	Text \\
    	\vfill
    	Text \\
    }}
    \rule{0.5cm}{0.4pt}G\rule{0.5cm}{0.4pt} 
    \fbox{\raisebox{-1\height}{\makebox[0.6\textwidth][r]{\includegraphics[width=0.5\textwidth]{Welcome}}}}
    
    \chapter{Nr. 2}
    % hier alles mit minipages
    \fbox{
    \begin{minipage}{\textwidth}
    	% minipage mit (Blind-)Text
    	\fbox{
    	\begin{minipage}[b][][t]{0.35\textwidth} 
    		Text \\
    		\vfill
    		Text \\
    		\vfill
    		Text \\
    	\end{minipage}
    	}
    	% Auffüllen des Zwischenraums
    	\hfill
    	% minipage mit Grafik
    	\fbox{
    	\begin{minipage}[b][][t]{0.6\textwidth}
    		% \textwidth bezieht sich nun auf die Minipage
    		\includegraphics[width=\textwidth]{Welcome}
    	\end{minipage}
    	}
    \end{minipage}
    }
    
    \end{document}
    Kapitel 1 und 3 sind meine Versuche. Das 2. Kapitel ist mit der raisbox von u_fischer. Kann man die raisebox auch um (\height - Höhe(A)) nach unten verschieben? Bisher schlugen alle Versuche dahingehend fehl. 0.9\height würde es dann auch tun.

    Zu den Leerzeichen (und fboxen):
    Die fboxen sind nur zur Visualisierung drumherum, die kommen nachher weg. Wie schlimm sind dann die Leerzeichen, die ich mir da einfange? Ich habe die Umbrüche zur besseren Übersichtlichkeit eingebaut, es wäre schon sehr unübersichtlich wenn alles in eine Zeile müsste.

    Vielen Dank und Grüße
    Dirk

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Der Vollständigkeit halber hier nochmal mein Quellcode, diesmal lauffähig:
    Das stimmt so nicht ganz, da uns Deine Grafik fehlt. Deshalb haben wir Dein
    \includegraphics durch ein \rule ersetzt.

    Wie schlimm sind dann die Leerzeichen, die ich mir da einfange?
    Schlimm? Kommt darauf an. Du darfst Dich halt nicht über eventuelle,
    "rätselhafte" horizontale Abstände (und deren unter Umständen noch
    rätselhaftere Konsequenzen) wundern.

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Sorry, stimmt. Die Graphik ist 500 x 560 Pixel groß und wird verkleinert. Nächstes mal ersetze ich die sofort durch ein Rule.

    Ok, das habe ich gerade erfahren. Dazu helfen ja % Zeichen am Ende der Zeile, oder?
    Sind eingerückte Zeilen über Tabs am Anfang genauso zu betrachten wie Leerzeichen?

    Wie handhabt ihr denn Übersichtlichkeit vs. sauberer Quellcode?

    Grüße
    Dirk

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Kann man die raisebox auch um (\height - Höhe(A)) nach unten verschieben?
    Code:
    \documentclass{article}
    \begin{document}
     abc
     \raisebox{-\height}{\rule{1cm}{4cm}}\quad
     \raisebox{-0.9\height}{\rule{1cm}{4cm}}\quad
     \raisebox{\dimexpr-\height+10pt}{\rule{1cm}{7cm}}\quad
     \raisebox{\dimexpr-0.5\height+4\baselineskip}{\rule{1cm}{7cm}}\quad
    \end{document}
    Wie schlimm sind dann die Leerzeichen, die ich mir da einfange?
    Beim Test: Gar nicht. Aber im Text könnten zusätzliche Leerzeichen schon mal nicht gewünscht sein.

    Sind eingerückte Zeilen über Tabs am Anfang genauso zu betrachten wie Leerzeichen?
    Nein, Leerzeichen/Tabs am Anfang der Zeile werden normalerweise ignoriert. (Das kann man ändern, siehe verbatim-Umgebung, \obeyspace etc).

  8. #8
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Sehr gut! Danke!

    Ok, nur woran merke ich wenn ich ungewünschte Leerzeichen habe? Oder macht man am Ende jeder Zeile ein %-Zeichen?

    Noch eine Frage:
    Warum geht hier das Rechteck nicht ganz bis zum rechten Rand? Ich hätte gedacht, dass Text und Rechteck durch die nach rechts ausgerichtete makebox bündig abschließen:
    Code:
    \documentclass{scrreprt}
    \usepackage{blindtext}
    \begin{document}
    
    %\fbox{
    \parbox[t]{0.3\textwidth}{%
    	Text
    	\\[5ex]
    	Text
    	\\[5ex]
    	Text
    }
    %}
    \hfill
    %\fbox{
    \raisebox{-0.9\height}{%
    	\makebox[0.6\textwidth][r]{%
    		\rule{7cm}{7cm}
    	}
    }
    %}
    \\
    
    \Blindtext[1][1]
    
    \end{document}
    Viele Grüße
    Dirk

    Edit: Ha! Voll in die Leerzeichen reingefallen:
    Code:
    \raisebox{-0.9\height}{%
    	\makebox[0.6\textwidth][r]{%
    		\rule{7cm}{7cm}%
    	}%
    }
    So geht es...
    Geändert von Dirk2718 (24-02-2012 um 15:13 Uhr)

  9. #9
    Registrierter Benutzer
    Registriert seit
    17.02.2010
    Beiträge
    685
    Das war das, was ich mit den "rätselhaften Konsequenzen" meinte.

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Ok, nur woran merke ich wenn ich ungewünschte Leerzeichen habe?
    Das sieht man ;-)

    Oder macht man am Ende jeder Zeile ein %-Zeichen?
    Dann%
    unterdrückst%
    du%
    vielleicht%
    gewünschte%
    Leerzeichen.

  11. #11
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Ok, also mit Gefühl das Ganze.

    Jetzt habe ich in dem Code noch etwas rumgespielt und bin hier gelandet:
    Code:
    \documentclass{scrreprt}
    \usepackage{blindtext}
    \begin{document}
    
    %\fbox{
    \parbox[t]{0.3\textwidth}{%
    	Text
    	\\[5ex]
    	Text
    	\\[5ex]
    	Text
    }
    %}
    \hfill
    %\fbox{
    \raisebox{-0.9\height}{%
    %	\mbox{%
    %	\makebox[0.6\textwidth][r]{%
    		\rule{7cm}{7cm}%
    %	}%
    }
    %}
    \\
    
    \Blindtext[1][1]
    
    \end{document}
    Kann ich wirklich die mbox bzw. makebox weglassen, weil das Bild (bzw. rule) in der raisebox steckt?

    Grüße
    Dirk

  12. #12
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Kann ich wirklich die mbox bzw. makebox weglassen, weil das Bild (bzw. rule) in der raisebox steckt?
    \mbox sicherlich. Ein Bild ist bereits eine Box, und die wird nicht boxiger, dadurch dass du sie in weitere \box-Befehle verpackst.

    Mit \makebox hingegen kannst du dein Bild in eine Box mit anderer Breite packen, z.B. in eine kleinere Box (dann hängt das Bild "raus"):

    Code:
    \documentclass{article}
    \usepackage{color,pgf}
    
    \begin{document}
    
    text\pgfsetfillopacity{0.5}%
     \fbox{\makebox[0cm]{\color{yellow}\rule{2cm}{4cm}}}%
       \pgfsetfillopacity{1}%
    text
    
    \end{document}

  13. #13
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Noch boxiger ist gut.

    Ah ok, da mein Bild aber nicht raushängen muss, reicht ja die raisebox.


    Jetzt habe ich mein neues Wissen angewandt und möchte eine Tabelle und ein Bild nebeneinander darstellen. Warum sind die jetzt nicht oben auf einer Linie?
    Code:
    \documentclass{scrreprt}
    
    \begin{document}
    
    %\fbox{%
    \raisebox{\dimexpr-\height+\baselineskip}{%
    	\rule{5cm}{5cm}%
    }%
    %}%
    \hfill
    %\fbox{%
    \parbox[t]{0.5\textwidth}{%
    	\begin{tabular}{ll}
    		Text1 & $\rightarrow$ Bla \\
    		Text2 & $\rightarrow$ BlaBla \\
    		Text3 & $\rightarrow$ Bla \\
    		Text4 & $\rightarrow$ BlaBla
    	\end{tabular}
    }%
    %}
    
    \end{document}
    Vielen Dank und Grüße
    Dirk

  14. #14
    Registrierter Benutzer
    Registriert seit
    23.02.2012
    Beiträge
    82
    Code:
    \documentclass{scrreprt}
    
    \begin{document}
    
    %\fbox{%
    \raisebox{\dimexpr-\height+\baselineskip}{%
    	\rule{5cm}{5cm}%
    }%
    %}%
    \hfill
    %\fbox{%
    \parbox[t][][r]{0.5\textwidth}{%
    	\begin{tabular}{ll}
    		Text1 & $\rightarrow$ Bla \\
    		Text2 & $\rightarrow$ BlaBla \\
    		Text3 & $\rightarrow$ Bla \\
    		Text4 & $\rightarrow$ BlaBla
    	\end{tabular}
    }%
    %}
    
    \end{document}
    Damit geht es...

  15. #15
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Warum sind die jetzt nicht oben auf einer Linie?
    Weil die Tabelle mittig entlang der Grundlinie ausgerichtet ist. Du brauchst die Option [t] ("abc" damit du siehst wo die Grundlinie in der parbox ist):



    Code:
    \documentclass{scrreprt}
    
    \begin{document}
    
    %\fbox{%
    \raisebox{\dimexpr-\height+\baselineskip}{%
    	\rule{5cm}{5cm}%
    }%
    %}%
    \hfill
    %\fbox{%
    \parbox[t]{0.5\textwidth}{%
    	abc\begin{tabular}{ll}
    		Text1 & $\rightarrow$ Bla \\
    		Text2 & $\rightarrow$ BlaBla \\
    		Text3 & $\rightarrow$ Bla \\
    		Text4 & $\rightarrow$ BlaBla
    	\end{tabular}
    }%
    %}
    
    \bigskip
    
    
    %\fbox{%
    \raisebox{\dimexpr-\height+\baselineskip}{%
    	\rule{5cm}{5cm}%
    }%
    %}%
    \hfill
    %\fbox{%
    \parbox[t]{0.5\textwidth}{%
    	abc\begin{tabular}[t]{ll}
    		Text1 & $\rightarrow$ Bla \\
    		Text2 & $\rightarrow$ BlaBla \\
    		Text3 & $\rightarrow$ Bla \\
    		Text4 & $\rightarrow$ BlaBla
    	\end{tabular}
    }%
    %}
    
    \end{document}
    Tabellen sind übrigens auch schon Boxen, man muss sie also nicht um jeden Preis in weitere Boxen stehen.

Lesezeichen

Berechtigungen

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