\VerbatimInput da error cuando el archivo .dat contiene símbolos (o *)

\VerbatimInput da error cuando el archivo .dat contiene símbolos (o *)

Tengo una \VerbatimInputllamada a un test.datarchivo, como se muestra aquí:

 \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}

El test.datarchivo es el siguiente:

 #l.77:
 TEST11

 A3

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

Debido a los ( * )símbolos, la compilación da este error:

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

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

¿Cómo podría compilar esto?

Respuesta1

En primer lugar, tengo que decir que en realidad no \VerbatimInputme he consumido. Sin embargo, ese fragmento de código que publicaste se ve exactamente igual al publicado en la siguiente respuesta:Incluir datos de un .txt textualmente

Para citar al autor:

  • especificar |y (/ )como carácter de escape y delimitadores de argumentos significa que estos símbolos no pueden aparecer como parte del texto textual (o en este caso, el contenido de data.txt);
  • la línea de asteriscos en data.txt se eliminó especificando *como carácter de comentario (similar a %LaTeX);

En otras palabras, el código que copiaste da un significado especial a estos cuatro caracteres y, por lo tanto, no se puede utilizar con archivos que los contengan.

Las líneas que parecen estar haciendo esto son estas:

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

Por lo tanto, sugeriría eliminarlos de su código o reemplazar los caracteres con otros que no aparecen en su archivo.

información relacionada