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, 11:23

Snoopy%20EL's gravatar image

Snoopy EL
114813
Akzeptiert-Rate: 0%

bearbeitet 14 Nov '16, 13:36

saputello's gravatar image

saputello
10.8k103963


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, 12:05

Henri's gravatar image

Henri
14.6k53340
Akzeptiert-Rate: 46%

bearbeitet 14 Nov '16, 20: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, 13:34) Snoopy EL
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×240
×38
×38
×19

gestellte Frage: 14 Nov '16, 11:23

Frage wurde gesehen: 4,350 Mal

zuletzt geändert: 15 Nov '16, 11:47