\VerbatimInput gibt einen Fehler aus, wenn die .dat-Datei ( oder * Symbole enthält

\VerbatimInput gibt einen Fehler aus, wenn die .dat-Datei ( oder * Symbole enthält

Ich habe einen \VerbatimInputAufruf einer test.datDatei, wie hier gezeigt:

 \documentclass[12pt]{article}

 \usepackage[left=2.5cm,top=2.5cm,right=2.5cm,bottom=2.5cm]{geometry}
 \usepackage[utf8]{inputenc}
 \usepackage{enumitem}
 \usepackage{fancyvrb}
 \usepackage{color,soul}
 \usepackage[dvipsnames]{xcolor}


 \begin{document}


 \RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}%
 {fontsize=\footnotesize,
  %
  frame=lines,  % top and bottom rule only
  framesep=2em, % separation between frame and text
  rulecolor=\color{Gray},
  %
  label=\fbox{\color{Black}test.dat},
  labelposition=topline,
  %
  commandchars=\|\(\), % escape character and argument delimiters for
                  % commands within the verbatim
  commentchar=*        % comment character
 }

 \VerbatimInput{./test.dat}


 \end{document}

Die test.datDatei ist die folgende:

 #l.77:
 TEST11

 A3

  (EL = 4) # this is compiled ok
  mH/(C*K) # this is not compiled, giving that error

Aufgrund der ( * )Symbole tritt bei der Kompilierung dieser Fehler auf:

 Runaway definition?
 -> mH/(C
 ! File ended within \read.
 <read 1> 

 l.97 \VerbatimInput{./test.dat}

Wie könnte ich das kompilieren?

Antwort1

Zunächst muss ich sagen, dass ich es \VerbatimInputselbst nicht verwendet habe. Der von Ihnen gepostete Code sieht jedoch genauso aus wie der in der folgenden Antwort:Daten aus einer TXT-Datei wortwörtlich einbinden

Um den Autor zu zitieren:

  • Die Angabe von |und (/ )als Escape-Zeichen und Argumenttrennzeichen bedeutet, dass diese Symbole nicht als Teil des wörtlichen Textes (oder in diesem Fall des Inhalts von data.txt) erscheinen können.
  • die Zeile mit den Sternchen in data.txt wurde durch Angabe *als Kommentarzeichen entfernt (ähnlich wie %in LaTeX);

Mit anderen Worten: Der von Ihnen kopierte Code weist diesen vier Zeichen eine besondere Bedeutung zu und kann daher nicht mit Dateien verwendet werden, die diese Zeichen enthalten.

Die Zeilen, die dies zu bewirken scheinen, sind diese:

commandchars=\|\(\), % escape character and argument delimiters for
              % commands within the verbatim
commentchar=*        % comment character

Daher würde ich vorschlagen, diese aus Ihrem Code zu entfernen oder die Zeichen durch andere zu ersetzen, die nicht in Ihrer Datei vorkommen.

verwandte Informationen