Last active
May 14, 2019 13:30
-
-
Save PadreSVK/3648e3e4141180ce77e6e2231bf2e57b to your computer and use it in GitHub Desktop.
DirtTree setup for latex
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%% | |
%% This is file `dirtree.tex', | |
%% generated with the docstrip utility. | |
%% | |
%% The original source files were: | |
%% | |
%% dirtree.dtx (with options: `tex') | |
%% | |
%% IMPORTANT NOTICE: | |
%% | |
%% For the copyright see the source file. | |
%% | |
%% Any modified versions of this file must be renamed | |
%% with new filenames distinct from dirtree.tex. | |
%% | |
%% For distribution of the original source see the terms | |
%% for copying and modification in the file dirtree.dtx. | |
%% | |
%% This generated file may be distributed as long as the | |
%% original source files, as listed above, are part of the | |
%% same distribution. (The sources need not necessarily be | |
%% in the same archive or directory.) | |
%% | |
%% Package `dirtree.dtx' | |
%% ----------------------------------------------- | |
%% Copyright (C) 2004-2009 Jean-C\^ome Charpentier | |
%% ----------------------------------------------- | |
%% | |
%% This work may be distributed and/or modified under the | |
%% conditions of the LaTeX Project Public License, either version 1.3 | |
%% of this license or (at your option) any later version. | |
%% The latest version of this license is in | |
%% http://www.latex-project.org/lppl.txt | |
%% and version 1.3 or later is part of all distributions of LaTeX | |
%% version 2003/12/01 or later. | |
%% | |
%% See CTAN archives in directory macros/latex/base/lppl.txt. | |
%% | |
%% CONTENTS: | |
%% This work consists of the files dirtree.ins and dirtree.dtx. | |
%% Derived files are dirtree.tex and dirtree.sty. | |
%% | |
%% DESCRIPTION: | |
%% dirtree is a package displaying directory trees. | |
%% | |
\def\fileversion{0.32} | |
\def\filedate{2012/12/11} | |
\message{`dirtree' v\fileversion, \filedate\space (jcc)} | |
\edef\DTAtCode{\the\catcode`\@} | |
\catcode`\@=11 | |
\long\def\DT@loop#1\DT@repeat{% | |
\def\DT@iterate{#1\relax\expandafter\DT@iterate\fi}% | |
\DT@iterate | |
\let\DT@iterate\relax | |
} | |
\let\DT@repeat=\fi | |
\expandafter\ifx\csname DT@fromsty\endcsname\relax | |
\def\@namedef#1{\expandafter\def\csname #1\endcsname} | |
\def\@nameuse#1{\csname #1\endcsname} | |
\long\def\@gobble#1{} | |
\fi | |
\def\@nameedef#1{\expandafter\edef\csname #1\endcsname} | |
\newdimen\DT@offset \DT@offset=0.2em | |
\newdimen\DT@width \DT@width=1em | |
\newdimen\DT@sep \DT@sep=0.2em | |
\newdimen\DT@all | |
\DT@all=\DT@offset | |
\advance\DT@all \DT@width | |
\advance\DT@all \DT@sep | |
\newdimen\DT@rulewidth \DT@rulewidth=0.4pt | |
\newdimen\DT@dotwidth \DT@dotwidth=1.6pt | |
\newdimen\DTbaselineskip \DTbaselineskip=\baselineskip | |
\newcount\DT@counti | |
\newcount\DT@countii | |
\newcount\DT@countiii | |
\newcount\DT@countiv | |
\def\DTsetlength#1#2#3#4#5{% | |
\DT@offset=#1\relax | |
\DT@width=#2\relax | |
\DT@sep=#3\relax | |
\DT@all=\DT@offset | |
\advance\DT@all by\DT@width | |
\advance\DT@all by\DT@sep | |
\DT@rulewidth=#4\relax | |
\DT@dotwidth=#5\relax | |
} | |
\expandafter\ifx\csname DT@fromsty\endcsname\relax | |
\def\DTstyle{\tt} | |
\def\DTstylecomment{\rm} | |
\else | |
\def\DTstyle{\ttfamily} | |
\def\DTstylecomment{\rmfamily} | |
\fi | |
\def\DTcomment#1{% | |
\kern\parindent\dotfill | |
{\DTstylecomment{#1}}% | |
} | |
\newdimen\DT@indent | |
\newdimen\DT@parskip | |
\newdimen\DT@baselineskip | |
\def\dirtree#1{% | |
\DT@indent=\parindent | |
\parindent=\z@ | |
\DT@parskip=\parskip | |
\parskip=\z@ | |
\DT@baselineskip=\baselineskip | |
\baselineskip=\DTbaselineskip | |
\let\DT@strut=\strut | |
\def\strut{\vrule width\z@ height0.7\baselineskip depth0.3\baselineskip}% | |
\DT@counti=\z@ | |
\let\next\DT@readarg | |
\next#1\@nil | |
\dimen\z@=\hsize | |
\advance\dimen\z@ -\DT@offset | |
\advance\dimen\z@ -\DT@width | |
\setbox\z@=\hbox to\dimen\z@{% | |
\hsize=\dimen\z@ | |
\vbox{\@nameuse{DT@body@1}}% | |
}% | |
\dimen\z@=\ht\z@ | |
\advance\dimen0 by\dp\z@ | |
\advance\dimen0 by-0.7\baselineskip | |
\ht\z@=0.7\baselineskip | |
\dp\z@=\dimen\z@ | |
\par\leavevmode | |
\kern\DT@offset | |
\kern\DT@width | |
\box\z@ | |
\endgraf | |
\DT@countii=\@ne | |
\DT@countiii=\z@ | |
\dimen3=\dimen\z@ | |
\@namedef{DT@lastlevel@1}{-0.7\baselineskip}% | |
\loop | |
\ifnum\DT@countii<\DT@counti | |
\advance\DT@countii \@ne | |
\advance\DT@countiii \@ne | |
\dimen\z@=\@nameuse{DT@level@\the\DT@countii}\DT@all | |
\advance\dimen\z@ by\DT@offset | |
\advance\dimen\z@ by-\DT@all | |
\leavevmode | |
\kern\dimen\z@ | |
\DT@countiv=\DT@countii | |
\count@=\z@ | |
\DT@loop | |
\advance\DT@countiv \m@ne | |
\ifnum\@nameuse{DT@level@\the\DT@countiv} > | |
\@nameuse{DT@level@\the\DT@countii}\relax | |
\else | |
\count@=\@ne | |
\fi | |
\ifnum\count@=\z@ | |
\DT@repeat | |
\edef\DT@hsize{\the\hsize}% | |
\count@=\@nameuse{DT@level@\the\DT@countii}\relax | |
\dimen\z@=\count@\DT@all | |
\advance\hsize by-\dimen\z@ | |
\setbox\z@=\vbox{\@nameuse{DT@body@\the\DT@countii}}% | |
\hsize=\DT@hsize | |
\dimen\z@=\ht\z@ | |
\advance\dimen\z@ by\dp\z@ | |
\advance\dimen\z@ by-0.7\baselineskip | |
\ht\z@=0.7\baselineskip | |
\dp\z@=\dimen\z@ | |
\@nameedef{DT@lastlevel@\the\DT@countii}{\the\dimen3}% | |
\advance\dimen3 by\dimen\z@ | |
\advance\dimen3 by0.7\baselineskip | |
\dimen\z@=\@nameuse{DT@lastlevel@\the\DT@countii}\relax | |
\advance\dimen\z@ by-\@nameuse{DT@lastlevel@\the\DT@countiv}\relax | |
\advance\dimen\z@ by0.3\baselineskip | |
\ifnum\@nameuse{DT@level@\the\DT@countiv} < | |
\@nameuse{DT@level@\the\DT@countii}\relax | |
\advance\dimen\z@ by-0.5\baselineskip | |
\fi | |
\kern-0.5\DT@rulewidth | |
\hbox{\vbox to\z@{\vss\hrule width\DT@rulewidth height\dimen\z@}}% | |
\kern-0.5\DT@rulewidth | |
\kern-0.5\DT@dotwidth | |
\vrule width\DT@dotwidth height0.5\DT@dotwidth depth0.5\DT@dotwidth | |
\kern-0.5\DT@dotwidth | |
\vrule width\DT@width height0.5\DT@rulewidth depth0.5\DT@rulewidth | |
\kern\DT@sep | |
\box\z@ | |
\endgraf | |
\repeat | |
\parindent=\DT@indent | |
\parskip=\DT@parskip | |
\baselineskip=\DT@baselineskip | |
\let\strut\DT@strut | |
} | |
\def\DT@readarg.#1 #2. #3\@nil{% | |
\advance\DT@counti \@ne | |
\@namedef{DT@level@\the\DT@counti}{#1}% | |
\@namedef{DT@body@\the\DT@counti}{\strut{\DTstyle{#2}\strut}}% | |
\ifx\relax#3\relax | |
\let\next\@gobble | |
\fi | |
\next#3\@nil | |
} | |
\catcode`\@=\DTAtCode\relax | |
\endinput | |
%% | |
%% End of file `dirtree.tex'. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function CreateDirtTree($folderRoot, $level) | |
{ | |
if(-not $(Test-Path $folderRoot)) | |
{ | |
Write-Error "Path do not exist" | |
return | |
} | |
if(-not $level){ | |
$level = 1 | |
} | |
$items = New-Object System.Collections.ArrayList; | |
$childItems = ls -Path $folderRoot | |
foreach ($item in $childItems) { | |
$size = [math]::Round($($item.length/1KB)) | |
if($size -eq 0){ | |
$size = 1 | |
} | |
$itemName = $item.Name -replace "_","\_" # latex do not accept _ char | |
if($item -is [System.IO.DirectoryInfo]){ | |
$items += ("`t" * $($level-1)) + ".$level "+ $itemName + "/." | |
$dirItems = CreateDirtTree -folderRoot $item.FullName -level $($level + 1) | |
$dirItems | %{ $items += $_ } | |
} | |
else{ | |
$items += ("`t" * $level) + ".$level "+ $itemName +".\DTcomment{" + $size + " KB}." | |
} | |
} | |
return $items | |
} | |
#usage | |
# CreateDirtTree -folderRoot "pathToFolderForDirtree" | |
# with copy to clipboard - just run command | |
# CreateDirtTree -folderRoot "pathToFolderForDirtree" | clip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{\small | |
\dirtree{% | |
.1 /. | |
.2 node\_modules/.\DTcomment{cache NPM balíčkov}. | |
.2 src/. | |
.3 main.c.\DTcomment{Súbor obsahujúci C funkcie}. | |
.2 wwwroot/.\DTcomment{Priečinok pre WebServer}. | |
.3 main.html.\DTcomment{Hlavný HTML dokument}. | |
.3 main.js.\DTcomment{JavaScriptový súbor, ktorý volá WASM}. | |
.3 main.wasm.\DTcomment{Súbor vygenerovaný prekladačom}. | |
.2 build.ts.\DTcomment{Definovanie Gulp úlohy pre kompiláciu}. | |
.2 package-lock.json. | |
.2 package.json.\DTcomment{Definícia NPM balíčkov}. | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
\usepackage{dirtree} | |
\include{dirtree} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment