Tabelle: rechte Spalte "gierig" und nicht fixe Breite Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


huebi
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: So 7. Nov 2021, 12:53

Tabelle: rechte Spalte "gierig" und nicht fixe Breite

Beitrag von huebi »

Moin,

in meinem Dokument habe ich einen Typ einer Tabelle der im gesamten Text andauernd vorkommt. Diese s9ll immer die gleichen Spaltenbreiten haben. Definiert habe ich nun dieses:
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{nicefrac}
\usepackage{siunitx}
\usepackage{csquotes}
\MakeOuterQuote{"}

\usepackage{siunitx}
\sisetup{
	locale = DE,	
	detect-weight=true, 
	detect-family=true,
	detect-all=true,
	range-units = single,%brackets,% | single | repeat
	product-units=single,
}

\DeclareSIUnit\tl{Teelöffel}
\DeclareSIUnit\el{Eßlöffel}
\DeclareSIUnit\calorie{cal}

%\usepackage{ragged2e}

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\newenvironment{ingred}[1][Zutaten]
{%
	\subsection*{#1}
	\fontsize{9}{12}
	\selectfont
	\begin{tabular}{R{18mm}  @{\hspace{1.5mm}}   L{19mm} L{60mm}}
	}
	{
	\end{tabular}
	\normalsize
	\vspace{4mm}
}

\begin{document}
\begin{ingred}[Zutaten für zwei bis drei Personen]
	2&&Chicoréekolben \\
	2&&Blutorangen \\
	1&&grüner Spitzpaprika \\
	1&&milde rote Zwiebel, am liebsten eine Roscoffzwiebel aus Frankreich oder eine aus Tropea (Italien) \\
	\numrange{1}{2}&\unit{\el}&rosa Pfefferbeeren (getrocknet)\\ 
	2&\unit{\el}&Sherryessig \\
	1&\unit{\el}&Rotweinessig\\ 
	1&\unit{\tl}&Balsamico \\ 
	&&Salz \\
	&&Pfeffer \\
	\numrange{1}{2}&\unit{\tl}&Dijonsenf\\ 
	3&\unit{\el}&Olivenöl 
\end{ingred} 

\end{document}
Was mich daran stört ist die Angabe der Breite der rechten Spalte. Diese möchte ich gerne so definieren dass diese Spalte sich einfach den Rest der verfügbaren Breite nimmt. Nehme ich aber schlicht l wird der Inhalt nicht mehr umgebochen. Ich habs auch mal ganz primitiv probiert indem ich mir sowas
\newcolumntype{X}{>{\raggedright\arraybackslash}}
definiert habe. Aber das war wohl ein ziemlich naiver Versuch. Ich habe bisher noch nicht herausfinden können, wie ich die dritte Spalte ohne Breitenangabe aber mit Umbruch hinkriege.

//Huebi

Stammgast

Re: Tabelle: rechte Spalte "gierig" und nicht fixe Breite

Beitrag von Stammgast »

huebi hat geschrieben:
So 1. Mai 2022, 08:37
[…] Ich habe bisher noch nicht herausfinden können, wie ich die dritte Spalte ohne Breitenangabe aber mit Umbruch hinkriege. […]
Das geht beispielsweise mit »tabularx« (oder entsprechenden Alternativen). Für die Gestaltung von Rezepten zum Kochen gibt es aber auch andere Klassen und Pakete. Und »nicefrac« wird besser durch »xfrac« ersetzt.

huebi
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: So 7. Nov 2021, 12:53

Re: Tabelle: rechte Spalte "gierig" und nicht fixe Breite

Beitrag von huebi »

Hallo,

danke für die schnelle Antwort. Funktioniert so weit gut, nur wenn ich es mir in mein eigenes environment reinziehe hagelt es Fehlermeldungen, im MWE ist das noch auskommentiert.
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{nicefrac}
\usepackage{siunitx}
\usepackage{csquotes}
\MakeOuterQuote{"}

\usepackage{siunitx}
\sisetup{
	locale = DE,	
	detect-weight=true, 
	detect-family=true,
	detect-all=true,
	range-units = single,%brackets,% | single | repeat
	product-units=single,
}

\DeclareSIUnit\tl{Teelöffel}
\DeclareSIUnit\el{Eßlöffel}
\DeclareSIUnit\calorie{cal}

\usepackage{ragged2e}
\usepackage{tabularx}

\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\Centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}

\newenvironment{ingred}[1][Zutaten]
{%
	\subsection*{#1}
	\fontsize{9}{12}
	\selectfont
	\begin{tabular}{R{18mm}  @{\hspace{1.5mm}}   L{19mm} L{60mm}}
%    \begin{tabularx}{\textwidth}{R{18mm}  @{\hspace{1.5mm}}   L{19mm} X}		
	}
	{
	\end{tabular}
%   \end{tabularx}   
	\normalsize
	\vspace{4mm}
}

\begin{document}
\begin{ingred}[Zutaten für zwei bis drei Personen]
	
	1&&milde rote Zwiebel, am liebsten eine Roscoffzwiebel aus Frankreich oder eine aus Tropea (Italien) \\
	
\end{ingred} 

\begin{tabularx}{\textwidth}{R{18mm}  @{\hspace{1.5mm}}   L{19mm} X}
	1&&milde rote Zwiebel, am liebsten eine Roscoffzwiebel aus Frankreich oder eine aus Tropea (Italien) \\
\end{tabularx}

\end{document}

Ich hab mir eine Menge existierender Klassen für Kochbücher angesehen, davon sagt mir nicht eine zu.

Das mit xfrac schau ich mir an, scheint den einen oder andren Workaround überflüssig zu machen.

//huebi

ich meine ja nur

Re: Tabelle: rechte Spalte "gierig" und nicht fixe Breite

Beitrag von ich meine ja nur »

Das liegt daran, dass du der Erklärung zu \tabularx auf Seite 4 der tabularx-Anleitung nicht genügend Aufmerksamkeit geopfert hast.

huebi
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: So 7. Nov 2021, 12:53

Re: Tabelle: rechte Spalte "gierig" und nicht fixe Breite

Beitrag von huebi »

Stimmt, ich hatte aber {XX} misinterpretiert und mich nicht gewundert habe wieso es hier etwas mit 2 X Spalten zu beachten gibt, wo ich doch nur eine habe... :roll:

Antworten