Ich möchte wenn \ifstr zutrifft einen Wert in einer Variable speichern.

Ich habe das versucht nur leider funktioniert es nicht.

Open in writeLaTeX
Code, hier editierbar zum Übersetzen:
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{scrdate}
\usepackage{pgffor}
\newcommand\jahr{2016}
\begin{document}
\huge{Jahr: \jahr, \\ Neujahr: \DayName{\jahr}{1}{1}, erster Montag:}
\foreach \tag in {1,...,7}{%
\ifstr{\DayName{\jahr}{1}{\tag}}
{\DayNameByNumber{1}}
{\tag.\,Januar~\jahr
\newcommand[\firstmonday]{\tag.\,Januar~\jahr}}% HIER
{}%
Der erste Montag im Jahr \firstmonday.
}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 09 Jan '15, 15:25

micneu's gravatar image

micneu
25124
Akzeptiert-Rate: 0%

bearbeitet 09 Jan '15, 17:55

saputello's gravatar image

saputello
11.1k174365

Code markieren und <strg>+<k> drücken um Code zu markieren. Ich war anfangs auch von Markdown verwirrt. ;-)

(09 Jan '15, 15:37) Johannes

@micneu: Bitte beachte meinen Kommentar und meine Änderungen zu Deiner anderen Frage.

(09 Jan '15, 17:51) saputello
2
(10 Jan '15, 11:25) esdd

Neben mindestens einem Klammerfehler besteht eines der Probleme darin, dass die Definition von \firstmonday mit \newcommand in einer \foreach Schleife nicht global ist. Verwende statt dessen \xdef:

Code, hier editierbar zum Übersetzen:
\documentclass{scrreprt}
%\providecommand*\Ifstr{\ifstr}% nötig bis einschließlich KOMA-Script version 3.27, see https://komascript.de/faq_deprecatedif
\usepackage[ngerman]{babel}
%\usepackage[utf8]{inputenc}% nur bei veralteten TeX-Distributionen nötig
\usepackage[T1]{fontenc}
\usepackage{scrdate}
\usepackage{pgffor}
\newcommand\firstmonday{}% Kontrolle, dass \firstmonday noch nicht definiert
\newcommand\jahr{2016}
\begin{document}
{\raggedright
{\huge
Jahr: \jahr,\par
Neujahr: \DayName{\jahr}{1}{1},\par
erster Montag:
\foreach \tag in {1,...,7}{%
\Ifstr{\DayName{\jahr}{1}{\tag}}{\DayNameByNumber{1}}{%
\xdef\firstmonday{\tag.\,Januar~\jahr}\firstmonday\breakforeach%
}{}%
}\par
}
\bigskip
Gespeichert ist der \firstmonday\par
}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Das gleiche Ergebnis erreichst Du übrigens auch, wenn Du in dem Vorschlag von @Ulrike ebenfalls \jahr definierst und die Berechnung entsprechend dem Kommentar von @saputello änderst:

Code, hier editierbar zum Übersetzen:
\documentclass{scrreprt}
%\providecommand*\Ifstr{\ifstr}% nötig bis einschließlich KOMA-Script version 3.27, see https://komascript.de/faq_deprecatedif
\usepackage[ngerman]{babel}
%\usepackage[utf8]{inputenc}% nur bei veralteten TeX-Distributionen nötig
\usepackage[T1]{fontenc}
\usepackage{scrdate}
\newcommand\jahr{2007}
\newcommand\erstermontag{%
\the\numexpr\XmodY{8-\DayNumber{\jahr}{1}{1}}{7}+1\relax.\,Januar~\jahr}
\begin{document}
{\raggedright
{\huge
Jahr: \jahr,\par
Neujahr: \DayName{\jahr}{1}{1},\par
erster Montag: \erstermontag
\par}
\bigskip
Gespeichert ist der \erstermontag\par
}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 09 Jan '15, 16:05

esdd's gravatar image

esdd
17.8k294257
Akzeptiert-Rate: 62%

bearbeitet 16 Jan '20, 14:12

Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×131
×27
×19
×5

gestellte Frage: 09 Jan '15, 15:25

Frage wurde gesehen: 9,363 Mal

zuletzt geändert: 10 Jan '15, 11:25

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×