def get_hierarchy_latex(self): """ creates a hierarchy of files and subdirectories within the main directory and writes it into a latex compatible string ### RETURNS (string) """ indent = " " main_string = "" main_string += "\\setstretch {0.74}%\n" main_string += self.name+"\n" main_string += "\\begin{itemize}\n" for subdir in self.subdirs: # going for he first layer of subdirectories main_string += "\item[$\\blacktriangleright$] "+jtstr.latex_compatible(subdir.get_name())+"\n" main_string += indent+"\\begin{itemize}\n" if not(subdir.subdirs == []): for subdir2 in subdir.subdirs: main_string += indent+"\item[$\\blacktriangleright$] "+jtstr.latex_compatible(subdir2.get_name())+"\n" # going for the second layer main_string += indent+indent+"\\begin{itemize}\n" if not(subdir2.subdirs == []): for subdir3 in subdir2.subdirs: main_string += indent+indent+"\item[$\\blacktriangleright$] "+jtstr.latex_compatible(subdir3.get_name())+"\n" # going for the third layer main_string += indent+indent+indent+"\\begin{itemize}\n" if not(subdir3.subdirs == []): for subdir4 in subdir3.subdirs: main_string += indent+indent+indent+"\item[$\\blacktriangleright$] "+jtstr.latex_compatible(subdir4.get_name())+"\n" for file4 in subdir3.files: main_string += indent+indent+indent+"\item[$\\vartriangleright$] "+jtstr.latex_compatible(file4)+"\n" main_string += indent+indent+indent+"\end{itemize}\n" for file3 in subdir2.files: main_string += indent+indent+"\item[$\\vartriangleright$] "+jtstr.latex_compatible(file3)+"\n" main_string += indent+indent+"\end{itemize}\n" for file2 in subdir.files: main_string += indent+"\item[$\\vartriangleright$] "+jtstr.latex_compatible(file2)+"\n" main_string += indent+"\end{itemize}\n" for file in self.files: main_string += "\item[$\\vartriangleright$] "+jtstr.latex_compatible(file)+"\n" main_string += "\end{itemize}\n" "\\setstretch {1.433}%\n" # returning the whole string return main_string