Tabelle mit Bildern - Elemente vertikal zentriern

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle mit Bildern - Elemente vertikal zentriern

von lukasen » So 13. Dez 2015, 13:26

Vielen Dank. Genau so sollte es sein.

von esdd » Sa 12. Dez 2015, 22:54

Du kannst mit `\raisebox` Höhe und Tiefe der Box mit jeweils `5pt` mehr vorgeben:

\raisebox{0pt}[\dimexpr\height+5pt][\dimexpr\depth+5pt]{%
    \begin{circuitikz}[baseline=(bl)] 
       \draw (0,0) node[or port](){};
       \coordinate(bl)at([yshift=-.5\ht\strutbox]current bounding box.west);
    \end{circuitikz}%
}
Oder Du vergrößerst am Ende der Zeichnung deren Bounding Box:

\begin{circuitikz}[baseline=(bl)] 
   \draw (0,0) node[and port](){};
   \useasboundingbox ([yshift=-5pt]current bounding box.south west)
      rectangle ([yshift=5pt]current bounding box.north east);
   \coordinate(bl)at([yshift=-.5\ht\strutbox]current bounding box.west);
\end{circuitikz}\\ \hline
 
Im folgenden Beispiel habe ich die horizontale Linien ergänzt um den Abstand zu zeigen:
\documentclass{scrartcl} 
\usepackage[europeanports]{circuitikz}

\newcommand\bbanpassen[1][5pt]{%
  \useasboundingbox ([yshift=-#1]current bounding box.south west)
          rectangle ([yshift=#1]current bounding box.north east);
}
\newcommand\blfestlegen{%
  \coordinate(circuitablebaseline)at([yshift=-.5\ht\strutbox]current bounding box.west);
}

\begin{document}

\begingroup
\tikzset{baseline=(circuitablebaseline)}
\begin{tabular}{c|l} 
    Name & Symbol\\\hline 
    OR &
    \begin{circuitikz}
       \draw (0,0) node[or port](){};
       \bbanpassen
       \blfestlegen
    \end{circuitikz}\\ \hline
    AND & 
    \begin{circuitikz} 
       \draw (0,0) node[and port](){};
       \bbanpassen
       \blfestlegen
    \end{circuitikz}\\ \hline
    XOR & 
    \begin{circuitikz}
       \draw (0,0) node[xor port](){};
       \bbanpassen
       \blfestlegen
    \end{circuitikz}\\ 
\end{tabular}
\endgroup

\end{document} 

von lukasen » Sa 12. Dez 2015, 21:56

Ja vielen Dank. Das ist genau das, was ich gesucht habe.
Gibt es noch eine Möglichkeit, die Zeilenhöhe abhängig vom Inhalt systematisch oben und unten zu erhöhen ohne die vertikalen Striche zu unterbrechen (auch wenn man diese nach Möglichkeit in Tabellen vermeiden sollte)? Oder bei der circuitikz Grafik oben und unten einen unsichtbaren Rand hinzuzufügen? Dürfte ja auf dasselbe hinauslaufen. Ich möchte das die Abbildungen in den Zeilen nicht so dicht beieinander sind.

Beispiel:
\documentclass{scrartcl}

\usepackage[europeanports]{circuitikz}

\begin{document}

\begin{tabular}{c|l}
	
	Name & Symbol\\\hline
	OR &
	\begin{circuitikz}[baseline=(current bounding box.west)]
		\draw (0,0) node[or port](){};
	\end{circuitikz}\\
	AND &
	\begin{circuitikz}[baseline=(current bounding box.west)]
		\draw (0,0) node[and port](){};
	\end{circuitikz}\\
	XOR &
	\begin{circuitikz}[baseline=(current bounding box.west)]
		\draw (0,0) node[xor port](){};
	\end{circuitikz}\\
\end{tabular}

\end{document}

von u_fischer » Fr 11. Dez 2015, 21:14

\begin{circuitikz}[baseline=(current bounding box.west)]
...

Tabelle mit Bildern - Elemente vertikal zentriern

von lukasen » Fr 11. Dez 2015, 19:41

Hallo alle zusammen,

ich bin hier neu im Forum und habe auch schon gleich meine erste Frage und hoffe, dass mir diese auch jemand beantworten kann.

Ich habe eine lange Tabelle wie in der folgenden Art. Ich würde gerne alle Elemente vertikal zentrieren, sodass die Schrift der ersten Spalten mittig zentriert neben den mittig zentrierten circuitikz Zeichnungen steht. Kann mir jemand helfen?

Mit dem Befehl
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
bin ich nicht zu einer Lösung gekommen.

Hier meine Tabelle:
\documentclass{scrartcl}

\usepackage{longtable}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[europeanresistors, europeanports, siunitx]{circuitikz}


\begin{document}


\begin{longtable}{c|c|c|c|c|c|l}
			$x_1$ & 0 & 0 & 1 & 1 & Bezeich- & \multirow{2}*{Schaltbild}\\
			$x_2$ & 0 & 1 & 0 & 1 & nung&\\\hline
			
			
			$y_{7}$ & 0 & 1 & 1 & 0 & XOR &
			\begin{circuitikz}
				\draw(0,0) node[nand port] (nand1) {}
				(2,0.5) node[nand port] (nand2) {}
				(2,-0.5) node[nand port] (nand3) {}
				(4,0) node[nand port] (nand4) {}
				(-1.76,0.775) node[circ] (){}
				(-1.76,-0.775) node[circ] (){}
				(nand1.out) node[circ] (){}
				%
				(-2,0.775) -| (nand1.in 1)
				(-2,-0.775) -| (nand1.in 2)
				(-2,0.775) -| (nand2.in 1)
				(-2,-0.775) -| (nand3.in 2)
				(nand1.out) |- (nand2.in 2)
				(nand1.out) |- (nand3.in 1)
				(nand2.out) -| (nand4.in 1)
				(nand3.out) -| (nand4.in 2)
				%
				(-2,0.775) node[left] () {$x_1$}
				(-2,-0.775) node[left] () {$x_2$}
				(nand4.out) node[right] () {$y_7$}
				%
			;\end{circuitikz}
			\\\hline
			$y_{8}$ & 0 & 1 & 1 & 1 & OR &
			\begin{circuitikz}
				\draw(1,0) node[nand port] (nand1) {}
				(1,1) node[nand port] (nand2) {}
				(3,0.5) node[nand port] (nand3) {}
				(-0.76,0) node[circ] (){}
				(-0.76,1) node[circ] (){}
				%
				(-1,0) -| (nand1.in 1)
				(-1,0) -| (nand1.in 2)
				(-1,1) -| (nand2.in 1)
				(-1,1) -| (nand2.in 2)
				%
				(nand1.out) |- (nand3.in 2)
				(nand2.out) |- (nand3.in 1)
				%
				(-1,0) node[left] () {$x_2$}
				(-1,1) node[left] () {$x_1$}
				(nand3.out) node[right] () {$y_8$}
				%
			;\end{circuitikz}
			\\\hline
			$y_{9}$ & 1 & 0 & 0 & 0 & NOR&
			\begin{circuitikz}
				\draw(1,0) node[nand port] (nand1) {}
				(1,1) node[nand port] (nand2) {}
				(3,0.5) node[nand port] (nand3) {}
				(5,0.5) node[nand port] (nand4) {}
				(-0.76,0) node[circ] (){}
				(-0.76,1) node[circ] (){}
				(nand3.out) node[circ] (){}				
				%
				(-1,0) -| (nand1.in 1)
				(-1,0) -| (nand1.in 2)
				(-1,1) -| (nand2.in 1)
				(-1,1) -| (nand2.in 2)
				%
				(nand1.out) |- (nand3.in 2)
				(nand2.out) |- (nand3.in 1)
				(nand3.out) |- (nand4.in 1)
				(nand3.out) |- (nand4.in 2)
				%
				(-1,0) node[left] () {$x_2$}
				(-1,1) node[left] () {$x_1$}
				(nand4.out) node[right] () {$y_9$}
				%
			;\end{circuitikz}
		\end{longtable}
		
\end{document}
PS: Mir ist klar, dass das kein Minimalbeispiel ist. Ich wollte jedoch auch eine ähnlich Tabelle wie bei mir haben.

Vielen Dank schon einmal!

Nach oben