Ich habe eine Tabelle mit verschiedenen Daten, allerdings habe ich so meine Schwierigkeiten mit den Umbrüchen. Momentan wird umbrochen, wenn die Zeile zu Ende ist, ich möchte aber lieber nach jedem Wort einen Umbruch. Also wie im Beispiel nach "Hähnchencurry".

Mit \newline, \tabularnewline oder \\ hab ich es schon probiert, die geben allerdings nur Fehler.

Kann jemand helfen?

Open in Online-Editor
\documentclass[a4paper,12pt,landscape]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[paper=a4paper,left=15mm,right=15mm,top=10mm,bottom=10mm]{geometry}
\usepackage{longtable}
\usepackage{pgffor}         
\usepackage{array}

\def\ExtractData#1#2{% #1 Liste der Werte, #2 Liste der Makros
 \def\ccc{i}%
 \foreach \data in {#1} {% Hilfsmakros \auxi, \auxii, \auxiii...
  \expandafter\xdef\csname aux\ccc\endcsname{\data}%
  \xdef\ccc{\ccc i}% 
 }%
 \xdef\ccc{i}%
 \foreach \macro in {#2} {% speichern in den bereitgestellten Makros
  \expandafter\xdef\macro{\csname aux\ccc\endcsname}%
  \xdef\ccc{\ccc i}%
 }%
}

\def\row#1{%

    \ExtractData{#1}{\titel,\mo}%
    %------------------ 
    \Titel{\titel} & \Mo{\mo}   \tabularnewline[1.5ex]

}

\newcommand*{\Titel}[1]{#1}
\newcommand*{\Mo}[1]{#1}

\newenvironment{menu}
{\setlength{\tabcolsep}{0pt}%
    \renewcommand{\arraystretch}{2}
    \begin{longtable} 
        {@{}|>{\centering\arraybackslash}p{0.075\textwidth}|>{\centering\arraybackslash}p{0.17\textwidth}|}

        \hline

        {\large \textbf{ }} & {\large \textbf{Montag}} \tabularnewline[1ex]\hline

        \hline

        \endhead
 }
 {

  \end{longtable}
 }

\begin{document}

  \begin{large}

        \begin{menu}
            \row{Menü 1,Fruchtiges Hähnchencurry Reis Möhren}\hline
        \end{menu}

  \end{large}

\end{document}

gefragt 14 Nov '16, 05:23

Snoopy%20EL's gravatar image

Snoopy EL
104412
Akzeptiert: 75%

bearbeitet 14 Nov '16, 07:36

saputello's gravatar image

saputello
20.2k33257


Ich habe dein Beispiel nochmal neu geschrieben. Jetzt kannst du \par zwischen den Wörtern benutzen um Zeilenumbrüche zu erhalten.

Open in Online-Editor
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{array}

\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\newenvironment{menu}
  {%
    \large
    \begin{longtable}{|C{.2\linewidth}|C{.4\linewidth}|}
      \hline
      & \textbf{Montag} \tabularnewline
      \hline
      \endhead
  }
  {\end{longtable}}

\newcommand\row[1]{\dorow#1\enddorow}
\long\def\dorow#1,#2\enddorow{%
  #1 & #2 \tabularnewline
}

\begin{document}

\begin{menu}
  \row{Menü 1,Fruchtiges \par Hähnchencurry \par Reis \par Möhren}\hline
\end{menu}

\end{document}

alt text


In ConTeXt MKIV kann man das database-Modul verwenden um direkt CSV zur Tabelleneingabe zu verwenden. Hier kann man auch ohne weiteres Zutun \\ für Zeilenumbrüche verwenden.

Open in Online-Editor
\usemodule[database]

\startsetups table:menu
  \setupTABLE[align={middle}]
  \setupTABLE[column][1][width=.2\textwidth]
  \setupTABLE[column][2][width=.4\textwidth]
\stopsetups

\defineseparatedlist
  [menu]
  [separator=comma,
   before={\startTABLE[setups=table:menu]
   \NC\NC \bf Montag\NC\NR},
   after=\stopTABLE,
   left=\NC,last=\NC\NR]

\starttext

\startmenu
  Menü 1, Fruchtiges Hähnchencurry \\ Reis \\ Möhren
\stopmenu

\stoptext

alt text

Permanenter link

beantwortet 14 Nov '16, 06:05

Henri's gravatar image

Henri
11.6k42235

bearbeitet 14 Nov '16, 14:24

Super, vielen Dank. CSV ist für meine Zwecke leider keine Option, aber Deine umgeschriebene Lösung mit \par ist auf jeden Fall eine top Option! Besten Dank!

(14 Nov '16, 07:34) Snoopy EL
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×194
×33
×32
×18

Frage gestellt: 14 Nov '16, 05:23

Frage wurde angeschaut: 1,273 Mal

Zuletzt aktualisiert: 15 Nov '16, 05:47