名詞と動詞の順列を調べる

名詞と動詞の順列を調べる

娘は読書を学んでいます。私は TeX を学んでいます。そのため、次の点について皆さんの助けが必要です。

私は名詞の配列/リストを持っています(基本的には人の名前と2つの神話上の生き物の名前です)ファラとフー:

noun = ["Fu", "Fara", "Uta", "Mama", "Mami", "Ralf", "Lara", "Mara", "Murat", "Marta", "Mamut", "Ira", "Mira", "Maria" ]

これと一緒に、彼女が読むことができる動詞のリストがあります。

verb = ["malt", "ruft", "umarmt" ]

私は、単純な Ruby スクリプトがすでに生成している次のリストのように、名詞と動詞のあらゆる可能な、かつ適切な順列を自動的にタイプセットする方法を探しています。

Maria umarmt Mama.
Maria malt Uta mit mir.
Mara malt Maria.
Fu malt Mamut.
Marta malt Mama.

「賢明」というのはない次のようなものを持っている

Fu umarmt Fu.

自分自身を抱きしめることは物理的に不可能なので(あなたがジェームズ・ボンドでない限り)。

各文にランダムに「mit mir」(私と一緒に)というテキストが追加されることがあります。

なぜ LaTeX なのか?rubyテキストのみを出力するので、ここで 2 番目の要求が発生します。

次のように、単語の音節を音節ごとblue-red-blue-red-....に色分けする必要があります。first-second-third-...

ワーリスト

娘の名において(そしてもちろん私自身の名において)感謝します!


私の現在の設定は以下のコメントの通りです:

\documentclass[18pt,oneside,a4paper]{scrartcl}

\usepackage{pgfmath,color}
\usepackage[doublespacing]{setspace}

%Einstellungen der Seitenrnder
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}
\usepackage[left=4cm,right=3cm,top=3cm,bottom=3cm,includeheadfoot]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}

%Fu§zeile mittig
\fancyfoot[C]{\thepage}
%Linie unten
\renewcommand{\footrulewidth}{0.5pt}

%neue Rechtschreibung
\usepackage{ngerman}

\def\noun{%
{{Fu}},{{Fa}{ra}},{{U}{ta}},{{Ma}{ma}},%
{{Ma}{mi}},{{Ralf}},{{La}{ra}},%
{Ma}{ra},{{Mu}{rat}},{{Mar}{ta}},%
{{Ma}{mut}},{I}{ra},{Mi}{ra},{{Ma}{ri}{a}}%
}

\def\verb{{{malt}},{{ruft}},{{um}{armt}}%
}

\def\zc{\expandafter\zzblue}
\def\zzblue#1{%
\ifx\relax#1\else\textcolor{blue}{#1}%
\expandafter\zzred
\fi}

\def\zzred#1{%
\ifx\relax#1\else\textcolor{red}{#1}%
\expandafter\zzblue
\fi}

\begin{document}

\makeatletter


\@for\za:=\noun\do{%
\@for\zb:=\noun\do{%
\ifx\za\zb\else
\@for\v:=\verb\do{
\par\zc\za\relax\ \zc\v\relax\ \zc\zb\relax
\pgfmathparse{random(2)}%
\ifnum\pgfmathresult=1\ \textcolor{blue}{mit mir}\fi.

}%
\fi
}}

\end{document}


\pgfmathparse{random(8)}%
\let\zza\pgfmathresult

\pgfmathparse{random(8)}%
\show\pgfmathresult

答え1

\documentclass{article}
\usepackage{pgfmath,color}
\def\noun{%
{{Fu}},{Fa}{ra},{{Uta}},{Ma}{ma},%
{Ma}{mi},{{Ralf}},{La}{ra},%
{Ma}{ra},{Mu}{rat},{Mar}{ta},%
{Ma}{mut},{Ir}{a},{Mir}{a},{Ma}{ri}{a}%
}

\def\verb{{{malt}},{{ruft}},{um}{armt}%
}

\def\zc{\expandafter\zzblue}
\def\zzblue#1{%
\ifx\relax#1\else\textcolor{blue}{#1}%
\expandafter\zzred
\fi}

\def\zzred#1{%
\ifx\relax#1\else\textcolor{red}{#1}%
\expandafter\zzblue
\fi}

\begin{document}

\makeatletter


\@for\za:=\noun\do{%
\@for\zb:=\noun\do{%
\ifx\za\zb\else
\@for\v:=\verb\do{
\par\zc\za\relax\ \zc\v\relax\ \zc\zb\relax
\pgfmathparse{random(2)}%
\ifnum\pgfmathresult=1\ \textcolor{blue}{mit mir}\fi.

}%
\fi
}}

\end{document}


\pgfmathparse{random(8)}%
\let\zza\pgfmathresult

\pgfmathparse{random(8)}%
\show\pgfmathresult

関連情報