Hallo liebe Gemeinde, ich bin ziemlicher Neuling, was LaTex betrifft und ich suche jetzt verzweifelt seit zwei Tagen bei Google nach einer Lösung, aber erfolglos - entweder bin ich zu doof oder aber es gibt (noch) keine Lösung dafür (was ich mir fast nicht vorstellen kann) Zu meinem Problem: Ich übergebe in einer Tabelle 9 Parameter, darunter auch in einer Spaltze die Wochentage von Montag bis Sonntag. Diese möchte ich aber nun gern auf die ersten zwei Buchstaben kürzen, das kann doch im Grunde nicht so schwierig sein - oder doch...?? Shocked Vielleicht könnt ihr mir ja in dieser Sache weiterhelfen, bin für jede Hilfe dankbar! Open in Online-Editor
\documentclass[9pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{ngerman} \usepackage{colortbl} \usepackage[paper=a4paper,left=25mm,right=25mm,top=15mm,bottom=15mm]{geometry} \usepackage[pdftex]{graphicx} \usepackage{longtable} \newcommand{\row}[9]{#1 & #2 & #3 & #4 & #5 & #6 & #7 & #8 & #9 \\ } % \row{datum}{art}{arbeit_von}{arbeit_bis}{pause_von}{pause_bis}{stunden}{tage}{auftrag} \newenvironment{timesheet}[1] { \setlength{\tabcolsep}{0pt} \noindent\begin{longtable}{@{}p{0.15\textwidth}p{0.15\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}} \multicolumn{2}{c}{} & \multicolumn{2}{c}{Arbeitszeit}& \multicolumn{2}{c}{Pausenzeit} \\[2ex] Tag & Datum & Kommen & Gehen & Kommen & Gehen & Std & Tage & Projekt \\[2ex] \endhead \row{Freitag}{01.05.2015}{}{}{}{}{}{}{BMW} \rowcolor[gray]{.9}\row{Samstag}{02.05.2015}{}{}{}{}{}{}{BMW} \rowcolor[gray]{.9}\row{Sonntag}{03.05.2015}{}{}{}{}{}{}{BMW} \row{Montag}{04.05.2015}{}{}{}{}{}{}{BMW} \row{Dienstag}{05.05.2015}{}{}{}{}{}{}{BMW} \row{Mittwoch}{06.05.2015}{}{}{}{}{}{}{BMW} \row{Donnerstag}{07.05.2015}{14:00}{18:00}{}{}{4,00}{0,5}{BMW} \row{Freitag}{08.05.2015}{09:00}{18:00}{12:00}{13:00}{4,00}{0,5}{BMW} \hline \gesamt{8,00}{2,00} }{\end{longtable}} \begin{document} \begin{timesheet} \end{timesheet} \end{document} Noch ein Hinweis: Die jetzt festgeschriebenen Werte werden später durch Textmarken/Platzhalter ersetzt und ich bekomme die Daten dazu von einem anderen Programm übergeben, deshalb entfällt das händische kürzen. ;) Grüße und vielen Dank schon mal Snoopy |
Das geht schon, allerdings braucht es dazu nicht nur LaTeX's Open in Online-Editor
\makeatletter \newcommand*\@getfirsttwo{} \def\@getfirsttwo#1#2#3\q@stop{#1#2} Das können wir dann in ein bequemeres Makro packen: Open in Online-Editor
\newcommand*\kuerzel[1]{\@getfirsttwo#1\empty\empty\q@stop} \makeatother Die Ein Test: Open in Online-Editor
\documentclass{article} \makeatletter \newcommand*\@getfirsttwo{} \def\@getfirsttwo#1#2#3\q@stop{#1#2} \newcommand*\kuerzel[1]{\@getfirsttwo#1\empty\empty\q@stop} \makeatother \begin{document} \kuerzel{Montag} \kuerzel{Dienstag} \kuerzel{Mittwoch} \kuerzel{Donnerstag} \kuerzel{Freitag} \kuerzel{Samstag} \kuerzel{Sonntag} \end{document} beantwortet 17 Sep '15, 10:57 cgnieder Super, das klappt einwandfrei! Da wäre ich wahrscheinlich nie drauf gekommen... :) Vielen Dank und einen schönen Tag noch! Gruß Snoopy
(17 Sep '15, 11:09)
Snoopy EL
|
Das Paket Open in Online-Editor
\documentclass[10pt,a4paper]{article}% article unterstützt 9pt nicht! \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{ngerman} \usepackage{colortbl} \usepackage[paper=a4paper,left=25mm,right=25mm,top=15mm,bottom=15mm]{geometry} \usepackage{graphicx}% pdftex erkennt graphics selbst via graphics.cfg \usepackage{longtable} \usepackage{xstring} \newcommand{\row}[9]{\StrLeft{#1}{2} & #2 & #3 & #4 & #5 & #6 & #7 & #8 & #9 \\ } % \row{datum}{art}{arbeit_von}{arbeit_bis}{pause_von}{pause_bis}{stunden}{tage}{auftrag} \newenvironment{timesheet}[1] { \setlength{\tabcolsep}{0pt} \noindent\begin{longtable}{@{}p{0.15\textwidth}p{0.15\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}} \multicolumn{2}{c}{} & \multicolumn{2}{c}{Arbeitszeit}& \multicolumn{2}{c}{Pausenzeit} \\[2ex] Tag & Datum & Kommen & Gehen & Kommen & Gehen & Std & Tage & Projekt \\[2ex] \endhead \row{Freitag}{01.05.2015}{}{}{}{}{}{}{BMW} \rowcolor[gray]{.9}\row{Samstag}{02.05.2015}{}{}{}{}{}{}{BMW} \rowcolor[gray]{.9}\row{Sonntag}{03.05.2015}{}{}{}{}{}{}{BMW} \row{Montag}{04.05.2015}{}{}{}{}{}{}{BMW} \row{Dienstag}{05.05.2015}{}{}{}{}{}{}{BMW} \row{Mittwoch}{06.05.2015}{}{}{}{}{}{}{BMW} \row{Donnerstag}{07.05.2015}{14:00}{18:00}{}{}{4,00}{0,5}{BMW} \row{Freitag}{08.05.2015}{09:00}{18:00}{12:00}{13:00}{4,00}{0,5}{BMW} \hline %\gesamt{8,00}{2,00}% auskommentiert, weil nicht definiert }{\end{longtable}} \begin{document} \begin{timesheet} \end{timesheet} \end{document} beantwortet 17 Sep '15, 13:36 saputello |
Willkommen auf der TeXwelt!
Das Beispiel ist übrigens nicht lauffähig, da
\gesamt
nicht definiert ist. Bitte beachte künftig Was ist ein vollständiges Minimalbeispiel oder kurz VM und wie erstelle ich dieses?.BTW: Crosspost. Zukünftig bitte selbst verlinken, damit man sehen kann, falls es bereits eine passende Antwort gibt.