Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Bilder in Tabelle am oberen rand ausrichten

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57

    Bilder in Tabelle am oberen rand ausrichten

    Hallo Leute,

    ich habe ein Problem mit meiner Tabelle in Latex.
    Ich möchte gerne in eine Spalte ein Bild einfügen und der Bezugspunkt des Bildes soll die linke obere Ecke der Tabellenspalte sein.
    Die Spalte daneben soll sich ebenfalls oben orientieren. Wenn ich jetzt das Bild einfüge, dann verrutscht mir der Anfangstext und fängt dann weiter unten an. Das darf aber nicht so sein.
    Leider weiß ich nicht, wie ich das ändern kann.

    Hier mal der Code:


    \documentclass[12pt]{scrreprt}
    \usepackage{multirow,tabularx}
    \usepackage[ngerman]{babel}
    \usepackage{graphicx}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[dvips,pdftex,top=0pt,bottom=-10pt,left=-10pt,right=0pt]{geometry}

    \begin{document}
    \setlength{\unitlength}{1cm}

    \begin{picture}(21,29.7)(0.4,0)

    \put(1,23.6){\raisebox{-\height}
    {\begin{tabularx}{19cm}[t]{|p{6cm}|p{6cm}|p{6cm}|}

    \hline
    Nummer &
    \multicolumn{2}{l}{\noindent
    \begin{tabularx}{12cm}[t]{@{}p{12cm}|}\raggedright bla bla
    bla bla bla bal bal bal bal s 2 mc bla bla bla bla bla bal bal bal bal s 2 mc bla bla
    \end{tabularx}}\\
    \hline


    {\noindent\begin{tabularx}{6cm}[t]{@{}p{6cm}}\raggedright
    {\includegraphics{/Testbild.jpg}}
    Bild
    \end{tabularx}} &

    \multicolumn{2}{l}
    {\noindent\begin{tabularx}{12cm}[t]{@{}p{6cm}|p{6cm}}\raggedright Text Vom Bild Text
    & DimensionBild
    \\\hline Pictos \linebreak\linebreak bl abla bla bla
    bla bal balb
    alab alb abalobal
    ablblblab baalal
    alalalala alalalala

    la al &
    Dummy
    \end{tabularx}} \\
    \hline \hline

    & Text & Text \\ \hline

    \end{tabularx}}}

    \end{picture}
    \end{document}


    Die Ausgabe "Text vom Bild" beginnt auf der Ebene, wo das Bild endet und das müsste alles nach oben.

    Ich hoffe, ich habe mein Problem deutlich gemacht,
    schonmal vielen Dank für eure Hilfe,

    LG, peyo
    Geändert von peyo (18-11-2010 um 05:43 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Sowohl Option dvips als auch Option pdftex bei geometry zu verwenden, ist AFAIK wenig sinnvoll. Da geometry diesbezüglich AFAIK die Voreinstellung ohnehin geändert hat, dürfte das beste sein, beide Optionen weg zu lassen. Ansonsten stimmt Deine Tabelle hinten und vorn nicht. Die picture-Umgebung ist sinnlos. Die Verwendung von tabularx ist bei Angabe fester Spaltenbreite ebenfalls sinnlos. Von all dem abgesehen, kann man den Referenzpunkt einer Box (und nichts anderes ist eine bei \includegraphics eingebundene Abbildung) mit \raisebox verschieben:
    Code:
    \raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{/Testbild.jpg}}
    oder:
    Code:
    \raisebox{\totalheight}{\includegraphics{/Testbild.jpg}}
    Deine Tabelle von den ganzen störenden vertikalen Linien (siehe Paket booktabs und dessen Anleitung) und sonstigen Seltsamkeiten zu befreien, sei mir erspart.

    BTW: Du solltest Code als solchen einfügen, mit Hilfe der [code]-Tags einfügen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    Weitestgehend hatte ich eine ähnliche Idee wie Schweinebacke, vielleicht nicht ganz so elegant, aber es sieht finde ich gar nicht so schlecht aus. Bei der Gelegenheit habe ich deine Tabelle noch etwas überarbeitet:
    Code:
    \documentclass[12pt]{scrreprt}
    \usepackage{multirow,tabularx}
    \usepackage[ngerman]{babel}
    \usepackage{graphicx}
    \usepackage[T1]{fontenc} 
    \usepackage[utf8]{inputenc}
    \usepackage[dvips,pdftex,top=0pt,bottom=-10pt,left=-10pt,right=0pt]{geometry}
    
    \usepackage{calc}
    \usepackage{booktabs}
    
    %%%%%%%%%
    %% Aus l2picfaq.pdf
    % neuer Befehl: \includegraphicstotab[..]{..}
    % Verwendung analog wie \includegraphics
    \newlength{\myx} % Variable zum Speichern der Bildbreite
    \newlength{\myy} % Variable zum Speichern der Bildhöhe
    \newcommand\includegraphicstotab[2][\relax]{%
    % Zusätzlich eingefügt:
    \raisebox{\baselineskip}{
    % Abspeichern der Bildabmessungen
    \settowidth{\myx}{\includegraphics[{#1}]{#2}}%
    \settoheight{\myy}{\includegraphics[{#1}]{#2}}%
    % das eigentliche Einfügen
    %\parbox[c][1.1\myy][c]{\myx}{%
    % leicht abgeändert:
    \parbox[t][1.1\myy][c]{\myx}{%
    \includegraphics[{#1}]{#2}}}%
    }% Ende neuer Befehl
    %%%%%%%%%
    
    
    \begin{document}
    \setlength{\unitlength}{1cm}
    
    \begin{picture}(21,29.7)(0.4,0)
    \put(1,23.6){%
    \raisebox{-\height}{
    		\begin{tabular}[t]{p{6cm}p{6cm}p{6cm}}
    			\toprule
    			%
    			Nummer & 
    			\multicolumn{2}{>{\raggedright\arraybackslash}b{12cm+2\tabcolsep}}%
    			{Multicolumn	bla bla bla bla bla bal bal bal bal s 2 mc bla bla bla bla bla bal bal bal bal s 2 mc bla bla}\\
    			\midrule
    			%
    \includegraphicstotab[width=5cm]{Testbild}
    			Bild 
    			&
    			\multicolumn{2}{l}{%
    				\begin{tabular}[t]{@{}>{\raggedright\arraybackslash}p{6cm+\tabcolsep}@{}p{6cm+\tabcolsep}@{}}
    				Text Vom Bild Text und mehr Text und nochmehr und damits nicht langweilig wir, noch etwas Text & DimensionBild \\
    				\cmidrule(r){1-1}
    				\cmidrule(r){2-2}
    				Pictos \linebreak\linebreak 
    				bl abla bla bla 
    				bla bal balb 
    				alab alb abalobal 
    				ablblblab baalal 
    				alalalala alalalala 
    				la al & Dummy
    			\end{tabular}%
    			} \\
    			\midrule			%
    			& Text & Text \\
    			\bottomrule
    			%
    		\end{tabular}%
    }}
    \end{picture}
    
    \end{document}

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    Hallo Schweinebacke, Xenara

    Danke für eure schnellen Antworten.
    ich habe den ersten Code Teil von Schweinebacke genommen und es passt bis jetzt.
    Code:
    \raisebox{\dimexpr\ht\strutbox-\totalheight\relax}[\ht\strutbox][\totalheight]{\includegraphics{/Testbild.jpg}}
    Danke Xenara,
    deine Tabelle schaut wirklich besser aus =) das freut mich.

    Die linien, die ich eingefügt hatte waren nur zur grafischen Darstellung gedacht, damit ich besser sehe wie sich die Tabelle aufbaut.

    Freut mich, dass ihr mir geholfen habt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    Was mache ich, wenn ich das Bild nicht an der linken oberen Ecke haben will, sondern an der rechten oberen Ecke? was von dem Code von Schweinebacke muss ich da ändern?



    Danke schonmal für eure Bemühungen

  6. #6
    Registrierter Benutzer
    Registriert seit
    11.09.2005
    Beiträge
    1.712
    \hfill vor \raisebox... setzen.

  7. #7
    Registrierter Benutzer
    Registriert seit
    17.11.2010
    Beiträge
    57
    ui, klasse =)

    danke für die Antwort.

    Ist echt super

Stichworte

Lesezeichen

Berechtigungen

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