Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am using a finite element program that outputs data in .txt files. And I want to input these data in my latex code. Is there a way to input the data files so that they appear as the program output format?

Program output data file: enter image description here

Latex code:

    \documentclass[a4paper,oneside,openany,article]{memoir}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[danish]{babel}
    \usepackage{graphicx}
        \graphicspath{{Figures/}}
    \usepackage{fullpage}
    \usepackage{mathtools}

    \begin{document}
    \input{Data/shearwall_only_bc_A.txt}
    \end{document}

Latex output:

enter image description here

share|improve this question
5  
Does \verbatiminput{Data/shearwall_only_bc_A.txt} do what you need? Requires \usepackage{verbatim}. –  egreg Dec 2 '12 at 13:16
    
Maybe, can be also helpful the listings package... –  FormlessCloud Dec 2 '12 at 13:34
    
@MaltheEisum does any of the solutions below answer your question? –  nnunes Dec 18 '12 at 21:17
add comment

3 Answers

up vote 8 down vote accepted

In addition to listings, the fancyvrb package is equally suitable for this purpose.

This package provides the \VerbatimInput command (similar to \verbatiminput), which can be customised using various parameters (e.g., reducing font size).

\documentclass{article}

\usepackage[dvipsnames]{xcolor}

\usepackage{fancyvrb}

% redefine \VerbatimInput
\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}data.txt},
 labelposition=topline,
 %
 commandchars=\|\(\), % escape character and argument delimiters for
                      % commands within the verbatim
 commentchar=*        % comment character
}

\begin{document}

\VerbatimInput{data.txt}

\end{document}

enter image description here

Notes:

  • specifying | and (/) as the escape character and argument delimiters means these symbols cannot appear as part of the verbatim text (or in this case, the contents of data.txt);
  • the line of asterisks in data.txt was removed by specifying * as the comment character (similar to % in LaTeX);
  • the line highlighted in green was obtained by modifying it as follows:

(|color(Green) 8 400.519E-33 -12. 17.1429 27.3494E+03)

share|improve this answer
    
To overwrite the value of previous parameters at any point, use the optional argument of \VerbatimInput, e.g., \VerbatimInput[fontsize=\small]{data.txt}. –  nnunes Dec 2 '12 at 15:39
add comment

Tanks egreg.

Adding the following to the preamble

    \usepackage{verbatim}

And useing

    \verbatiminput{<file path>}

To input does the tick !! thanks !!

share|improve this answer
add comment

You can also make the font size smaller in a verbatim environment by making a new environment I call \verbatimprog, which uses the \footnotesize font size.

Place the lines below in the preamble (before \begin{document}):

 \DefineVerbatimEnvironment%
      {verbatimprog}%
      {Verbatim}%
      {fontsize=\footnotesize}%

Then, to use the new environment, say

\begin{verbatimprog}

(your program output here)

\end{verbatimprog}
share|improve this answer
    
Yes, but Malthe Eisum's question was about reading the contents of a text file automatically with a command like \input, and not copying the contents of the first. –  nnunes Dec 2 '12 at 18:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.