\ifstrequalのような小なり文字列比較

\ifstrequalのような小なり文字列比較

\ifstrlessthan同じように動作するコマンドを取得する方法はありますか?エトゥーボックス\ifstrequal?私は次のようなことをしたい

\ifstrlessthan{\creationdate}{2017-01-01}%
  {Old company name}{New company name}

答え1

\documentclass{article}
\usepackage{pdftexcmds}
\newcommand{\companyNameChangeDate}{2016-01-01}
\newcommand{\creationDate}{2017-01-01}
\begin{document}
\makeatletter
\ifcase\pdf@strcmp{\creationDate}{\companyNameChangeDate} new company name \or new company name \else old company name \fi
\makeatother
\end{document}

プリント新しい会社名

答え2

ハイフンを削除すると、比較できる数値が得られます。

\documentclass{article}

% assume dates are in ISO format YYYY-MM-DD
\makeatletter
\newcommand{\ifdateearlierTF}[2]{%
  \ifnum\@date@to@number{#1}<\@date@to@number{#2}
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
}
\def\@date@to@number#1{\expandafter\@date@to@number@aux\romannumeral-`Q#1\@nil}
\def\@date@to@number@aux#1-#2-#3\@nil{#1#2#3}
\makeatother


\begin{document}

\newcommand{\creationdate}{2016-01-01}
\ifdateearlierTF{\creationdate}{2017-01-01}{Old company name}{New company name}

\renewcommand{\creationdate}{2017-06-30}
\ifdateearlierTF{\creationdate}{2017-01-01}{Old company name}{New company name}

\end{document}

ここに画像の説明を入力してください

関連情報