[Résolu] Représenter une arborescence

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[Résolu] Représenter une arborescence

Messagepar projetmbc » Mardi 26 Octobre 2010, 21:26

Bonsoir,
je souhaitais représenter une arborescence de dossier d'une façon analogue à l'exemple ASCII ci-dessous.

Code: Tout sélectionner
`- Dossier
   +- Sous-Dossier
   |  +- Fichier.txt
   |  +- Contenu
   |     +- log.txt
   |     +- bidon.txt
   `- Ainsi de suite


Existe-t-il un package permettant de faire cela ?
Dernière édition par projetmbc le Mercredi 27 Octobre 2010, 07:59, édité 1 fois.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Représenter une arborescence

Messagepar balf » Mardi 26 Octobre 2010, 22:42

pst-tree permet de faire à peu près tout ce qu'on veut en matière d'arborescence.

B.A.
balf
Zetta-utilisateur
 
Messages: 3823
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Représenter une arborescence

Messagepar gigiair » Mercredi 27 Octobre 2010, 07:12

Le package dirtree de j-c Charpentier à l'air de faire exactement ça. pst-tree, c'est peut-être un peu lourd non ?
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2399
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Représenter une arborescence

Messagepar projetmbc » Mercredi 27 Octobre 2010, 07:30

Bonjour,
j'ai essayé de regarder un exemple dans la documentation mais je n'ai rien trouvé. Par contre, il y a un exemple dans cette page.

Le code est le suivant :
Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}% Walter Schmidt
\usepackage[T1]{fontenc}\usepackage{textcomp}
\usepackage{mathpazo}
\usepackage{courier}
\usepackage{geometry,url,ngerman}

\usepackage[inactive]{pst-pdf}

\parindent0pt
\pagestyle{empty}

\usepackage{pstricks,pst-node}
\newcounter{leaves}
\newcounter{directories}

\newenvironment{directory}[2][\linewidth]%
% Startet neues Verzeichnis
% und produziert eine Minipage der angeg. Breite.
% Syntax: \begin{directory}[width]{text}
% text muss in eine \parbox der angegebenen Breite passen;
% wenn keine Breite angegeben ist, wird \linewidth angenommen.
{%
\setcounter{leaves}{0}%
\addtocounter{directories}{1}
\edef\directoryname{D\thedirectories}
\begin{minipage}[t]{#1}% <-------- !!!
  \setlength{\parindent}{\linewidth}
  \addtolength{\parindent}{-\dirshrink\parindent}
  \parskip0pt%
  \noindent
  \Rnode[href=-\dirshrink]{\directoryname}{\parbox[t]{#1}{#2}}%
  \par

{\end{minipage}}

% !!! --> Problem: 
% Wegen [t] stimmt der Zeilenabstand _nach_ der minipage nicht.
% Der Referenzpunkt eines Knoten muss aber in der _ersten_ Zeile
% liegen, mehrzeilige Knoten, also Unterverzeichnisse, mit ihrer
% ersten Zeile im Dateibaum verankert weren.

\newcommand{\file}[2][]{%
% Fuer einen einzelnen Eintrag innerhalb der directory-Umgebung.
% Das Argument darf seinerseits eine directory-Umgebung sein.
  \addtocounter{leaves}{1}%
  \edef\leaflabel{L\theleaves\directoryname}%
  \par
  \Rnode{\leaflabel}{\parbox[t]{\dirshrink\linewidth}{#2\hfill#1}}%
  \ncangle[angleA=270,angleB=180,armB=0,nodesep=1pt]
    {\directoryname}{\leaflabel}%
  % \typeout{\directoryname,\leaflabel}% Debugging
\par}

\newcommand{\dirshrink}{.95}
% relative Verringerung der Breite der Verzeichniseintraege
% pro Stufe


\begin{document}

The draft directory of \url{fontinst}:
\begin{verbatim}
doc/
  manual/
  fontinst.aux
  fontinst.log
  fontinst.pdf
  fontinst.tex
  fontinst.toc
  intro98.tex
  ltxguide.cfg
  roadmap.eps
encspecs.zip
examples.zip
inputs.zip
latex.zip
README
source.zip
test.zip
\end{verbatim}


\medskip

\dots\ and what can be with \verb+pst-tree+

\def\url#1{#1}

\begin{postscript}
\begin{directory}{\url{fontinst}}
\file{\begin{directory}{\url{doc/}}
  \file{\begin{directory}{\url{manual/}}
    \file[ auxiliary file]{\url{fontinst.aux}}
    \file{\url{fontinst.log}}
    \file{\url{fontinst.pdf}}
    \file{\url{fontinst.tex}}
    \file[ table of contents ]{\url{fontinst.toc}}
    \file{\url{intro98.tex }}
    \file{\url{ltxguide.cfg}}
    \file{\url{roadmap.eps }}
  \end{directory}}
\file{\url{encspecs.zip }}
\end{directory}}
\file{\url{examples.zip }}
\file{\url{inputs.zip   }}
\file{\url{latex.zip    }}
\file{\url{README       }}
\file{\url{source.zip   }}
\file{\url{test.zip     }}
\end{directory}
\end{postscript}

\end{document}



Merci.
Dernière édition par projetmbc le Mercredi 27 Octobre 2010, 07:59, édité 1 fois.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: Représenter une arborescence

Messagepar projetmbc » Mercredi 27 Octobre 2010, 07:58

Bonjour gigiar.

gigiair a écrit:Le package dirtree de j-c Charpentier à l'air de faire exactement ça. pst-tree, c'est peut-être un peu lourd non ?

La mise en oeuvre est moins verbeuse avec la possibilité d'ajouter des commentaires. Super !

Code: Tout sélectionner
\documentclass[12pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{dirtree}

\begin{document}

Le contenu du dossier \verb|fontinst| écrit en mode ASCII est  :
\begin{verbatim}
doc/
  manual/
    fontinst.aux
    fontinst.log
    fontinst.pdf
    fontinst.tex
    fontinst.toc
    intro98.tex
    ltxguide.cfg
    roadmap.eps
  encspecs.zip
examples.zip
inputs.zip
latex.zip
README
source.zip
test.zip
\end{verbatim}

\medskip

\dots et voici ce que permet le package  \verb|dirtree| :

\medskip

\dirtree{%
.1 fontinst.
   .2 doc/.
        .3 manual/.
           .4 fontinst.aux.
           .4 fontinst.log\DTcomment{Derniers changements}.
           .4 fontinst.pdf.
           .4 fontinst.tex.
           .4 fontinst.toc.
           .4 intro98.tex.
           .4 ltxguide.cfg.
           .4 roadmap.eps.
        .3 encspecs.zip \ldots{} \begin{minipage}[t]{5cm}
                                                        Un fichier compressé\\
                                                        à décompresser.\\
                                                \end{minipage}.
   .2 examples.zip.
   .2 inputs.zip.
   .2 latex.zip.
   .2 README.
   .2 source.zip.
   .2 test.zip.
}

\end{document}
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Ahrefs [Bot], Bing [Bot], Grapeshot [Crawler] et 36 invités