von Failix » Fr 13. Jul 2018, 16:51
Hallo,
ich möchte zwei Strings miteinander vergleichen wobei der eine String aus einem .txt File ausgelesen werden soll. Bisher habe ich folgendes. Die Datei "imagelist.txt" besteht aus Zeilen in denen jeweils der Filename eines PNG Bildes steht. Zum kompilieren das Minimalbeispiels reicht ein einfaches .txt File mit einer Zeile: "test.png". Außerdem muss glaub ich -shell-escape aktiviert sein. Was bisher funktioniert ist, dass jede Zeile eingelesen wird und in den eigentlichen Namen und die .png Endung getrennt wird. Trotzdem spuckt ifthenelse immer Nein aus.
\documentclass{article}
\usepackage[strings]{underscore}
\usepackage[T1]{fontenc}
\usepackage{ifthen}
\newcommand{\comp}{test}
\begin{document}
\makeatletter
\newread\reader
\openin\reader=imagelist.txt\relax
\begingroup
\endlinechar=-1\relax
\loop
\readline\reader to \data
\unless\ifeof\reader
\filename@parse{\data}
\filename@base
\newline
\ifthenelse{\equal{\comp}{\filename@base}}{Ja}{Nein}
\newline
\repeat
\endgroup
\closein\reader
\makeatother
\end{document}
[\code]
Hallo,
ich möchte zwei Strings miteinander vergleichen wobei der eine String aus einem .txt File ausgelesen werden soll. Bisher habe ich folgendes. Die Datei "imagelist.txt" besteht aus Zeilen in denen jeweils der Filename eines PNG Bildes steht. Zum kompilieren das Minimalbeispiels reicht ein einfaches .txt File mit einer Zeile: "test.png". Außerdem muss glaub ich -shell-escape aktiviert sein. Was bisher funktioniert ist, dass jede Zeile eingelesen wird und in den eigentlichen Namen und die .png Endung getrennt wird. Trotzdem spuckt ifthenelse immer Nein aus.
[code]
\documentclass{article}
\usepackage[strings]{underscore}
\usepackage[T1]{fontenc}
\usepackage{ifthen}
\newcommand{\comp}{test}
\begin{document}
\makeatletter
\newread\reader
\openin\reader=imagelist.txt\relax
\begingroup
\endlinechar=-1\relax
\loop
\readline\reader to \data
\unless\ifeof\reader
\filename@parse{\data}
\filename@base
\newline
\ifthenelse{\equal{\comp}{\filename@base}}{Ja}{Nein}
\newline
\repeat
\endgroup
\closein\reader
\makeatother
\end{document}
[\code][/code]