Search code examples
latexverbatim

Latex verbatim:how to show the file directoy created by tree command?


I want to insert a file directory diagram created by tree command using verbatim enviroment. But in the output document, only file names are kept, and the connection lines are disapeared.

\documentclass{article}
\usepackage{fancyvrb}
\begin{document}

\begin{Verbatim}
 .
 ├── app
 ├── bakery
 ├── build
 ├── CHANGELOG.md
 ├── composer.json
 ├── composer.lock
 ├── docker
 ├── sponsors
 ├── STYLE-GUIDE.md
 └── webserver-configs

 \end{Verbatim}

 \end{document}

I have tried using fancyvrb package by setting showtabs true, but the connection lines are still not printed in the document.

Is there any way?


Solution

  • The problem is that these unicode characters are not included in the default mono font. If you use an unicode-capable engine, such as lualatex, and a font which contains them, e.g. DejaVu Sans Mono, the will be visible in the document:

    % !TeX TS-program = xelatex
    
    \documentclass{article}
    \usepackage{fancyvrb}
    
    
    \usepackage{fontspec}
    \setmonofont{DejaVu Sans Mono}
    
    \begin{document}
    
    \begin{Verbatim}
     .
     ├── app
     ├── bakery
     ├── build
     ├── CHANGELOG.md
     ├── composer.json
     ├── composer.lock
     ├── docker
     ├── sponsors
     ├── STYLE-GUIDE.md
     └── webserver-configs
    
     \end{Verbatim}
    
     \end{document}
    

    enter image description here

    You can use the command line utility albatross to get a list of all the fonts on your computer which contain the necessary symbols:

    albatross ├ ─   
    

    If you prefer pdflatex, the pmboxdraw package can be used:

    \documentclass{article}
    \usepackage{fancyvrb}
    
    \usepackage[utf8]{inputenc}
    \usepackage{pmboxdraw}
    
    \begin{document}
    
    \begin{Verbatim}
     .
     ├── app
     ├── bakery
     ├── build
     ├── CHANGELOG.md
     ├── composer.json
     ├── composer.lock
     ├── docker
     ├── sponsors
     ├── STYLE-GUIDE.md
     └── webserver-configs
    
     \end{Verbatim}
    
     \end{document}
    

    enter image description here