yonggang.hu
yonggang.hu

Reputation: 43

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?

Upvotes: 3

Views: 1579

Answers (1)

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

Upvotes: 4

Related Questions