feste Höhe und Breite und vertikal und horizontal zentriert

Tabellen und Grafiken erstellen und anordnen


zackdvd
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Fr 10. Mär 2017, 20:20

feste Höhe und Breite und vertikal und horizontal zentriert

Beitrag von zackdvd »

Hi,
ich google das jetzt schon was länger und habe fast eine schön kompakte Lösung, aber die letzte Spalte will noch nicht! Ich flip gleich aus...
Quasi benötige ich eine 4x4 Matrix, in der beliebiger Text Mittig angezeigt wird.
Anscheinend keine leichte Aufgabe...


\documentclass[a4paper]{article}

\usepackage[margin=1.0in]{geometry}% http://ctan.org/pkg/margin
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{array}% http://ctan.org/pkg/array
\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr.25\linewidth-2\tabcolsep}}

\newcommand{\seth}{\linewidth}


\begin{document}

\begin{table}[ht]
  \centering
  \begin{tabular}{|M|M|M|M|}
%    \toprule
	\hline
	ABC   & B & D & Test \\[\seth]
	\hline
    A & One & Two & Three \\ [\seth]
	\hline
    B & Three & One & Two \\ [\seth]
	\hline
    C & Two & Three & One \\ [\seth]
	\hline
  %  \bottomrule
  \end{tabular}
\end{table}
\end{document}​
Und das mit hinter jeder Zeile die linewidth setzen ist auch von mir, funktioniert aber kurioserweise.
Dateianhänge
bingoout2.pdf
(3.28 KiB) 161-mal heruntergeladen

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wie wäre es mit einer zusätzlichen leeren Spalte?
\documentclass[a4paper]{article}

\usepackage[margin=1.0in]{geometry}
\usepackage{booktabs}
\usepackage{array}

\newcolumntype{M}{>{\centering\arraybackslash}m{\dimexpr.25\linewidth-2\tabcolsep}}
\newcommand{\seth}{2cm}

\begin{document}
\begin{table}[htbp]
  \centering
  \begin{tabular}{|M|M|M|M|@{}m{0pt}@{}}
%    \toprule
   \hline
   ABC   & B & D & Test & \\[\seth]
   \hline
    A & One & Two & Three & \\ [\seth]
   \hline
    B & Three & One & Two & \\ [\seth]
   \hline
    C & Two & Three & One & \\ [\seth]
   \hline
  %  \bottomrule
  \end{tabular}
\end{table}
\end{document}

Gast

Beitrag von Gast »

Man muss nicht immer Tabellen verwenden:
\documentclass{article}

\newcommand*{\arraybox}[1]{%
  \fbox{\parbox[tt][2cm][c]{\dimexpr(\linewidth-2\fboxsep-2\fboxrule)/4}{\centering #1\par}}\hskip0pt % Das \hskip ermöglicht einen Zeilenumbruch
}

\begin{document}
\begingroup
  \lineskip0pt% kein vertikaler Abstand zwischen den Boxen
  \noindent\arraybox{top left}\arraybox{top somehow left}%
  \arraybox{top somehow right}\arraybox{top right}%
  \arraybox{higher left}\arraybox{higher more left}%
  \arraybox{higher more right than left}\arraybox{higher right}%
  \arraybox{lower left}\arraybox{lower more left than right}%
  \arraybox{lower more right}\arraybox{lower right}%
  \arraybox{bottom left}\arraybox{bottom somehow left}%
  \arraybox{bottom somehow right}\arraybox{bottom right}\par
\endgroup

\end{document}
Man könnte das auch mit dem adjustbox-Paket machen.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Und das mit hinter jeder Zeile die linewidth setzen ist auch von mir, funktioniert aber kurioserweise.
Nun offensichtlich funktioniert es ja nicht ... Du verlässt dich da auf einen Seiteneffekt der Implementierung, der, wie du siehst, in der letzten Spalte nicht das tut, was du erwartest.

Antworten