diff options
| author | jwansek <eddie.atten.ea29@gmail.com> | 2022-03-30 17:53:21 +0100 | 
|---|---|---|
| committer | jwansek <eddie.atten.ea29@gmail.com> | 2022-03-30 17:53:21 +0100 | 
| commit | c191669089061a5082dba997ca43d1db233c1b72 (patch) | |
| tree | 67abb8e42ea19623216b2f5628d108d50f78d54b /templates | |
| parent | 524fa81d71d335a04ab3610c39c5c8e74eb732a4 (diff) | |
| download | Smarker-c191669089061a5082dba997ca43d1db233c1b72.tar.gz Smarker-c191669089061a5082dba997ca43d1db233c1b72.zip | |
added python latex escaping
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/tex.jinja2 | 75 | 
1 files changed, 73 insertions, 2 deletions
| diff --git a/templates/tex.jinja2 b/templates/tex.jinja2 index 6aa366c..998ba37 100644 --- a/templates/tex.jinja2 +++ b/templates/tex.jinja2 @@ -1,6 +1,18 @@ +((* macro expand_function(function_name, function_contents, x = "Function") *))
 +    \texttt{((( tex_escape(function_name) )))}:
 +
 +    ((* if function_contents["present"] *))
 +        Arguments: \texttt{((( tex_escape(function_contents["arguments"]) )))}
 +    ((* else *))
 +        \errortext(Function \texttt{((( tex_escape(function_name) )))} not present.)
 +    ((* endif *))
 +((* endmacro *))
 +
  \documentclass{article}
  \usepackage[margin=1in]{geometry} % margins
 +\usepackage{multicol} % columns
 +\usepackage{float} % layout
  \usepackage{forest} % for the class tree
  \usepackage{pdfpages} % for importing the test results pdf
  \usepackage{xcolor} % colours
 @@ -18,10 +30,12 @@ breaklines=true  \begin{document}
 +\begin{multicols}{((( tex_columns )))}
 +
  \maketitle
  \section{Class Tree}
 -\begin{figure}[h]
 +\begin{figure}[H]
      \centering
      \begin{forest}
          ((( recurse_class_tree_forest(class_tree)|indent(8, False) )))
 @@ -50,7 +64,7 @@ breaklines=true  ((( files_contents["exception"]["traceback"] )))
              \end{lstlisting}
          ((* else *))
 -            \subsubsection{Documentation:}
 +            \textbf{Documentation:}
              ((( len_documentation(files_contents["documentation"]["comments"], files_contents["documentation"]["doc"]) ))) characters long
              ((* if tex_show_full_docs == "True" *))
 @@ -77,6 +91,61 @@ breaklines=true              ((* if "classes" in files_contents.keys() *))
                  \subsubsection{Classes}
 +                ((* set flat_classes = flatten_struct(files_contents["classes"]) *))
 +                ((* for class_name, class_contents in flat_classes.items() *))
 +                    
 +                    
 +                    \texttt{((( class_name )))}:
 +
 +                    ((* if class_contents["present"] *))
 +                        \textbf{Documentation:}
 +                        
 +                        ((( len_documentation(class_contents["documentation"]["comments"], class_contents["documentation"]["doc"]) ))) characters long
 +                        ((* if tex_show_full_docs == "True" *))
 +                        
 +                        
 +                        \textbf{Comments:}
 +
 +                        ((* if class_contents["documentation"]["comments"] == "None" *))
 +                            \errortext{No comments present.}
 +                        ((* else *))
 +                            \begin{lstlisting}
 +((( class_contents["documentation"]["comments"] )))
 +                            \end{lstlisting}
 +                        ((* endif *))
 +
 +                        
 +                        \textbf{Docstring:}
 +
 +                        ((* if class_contents["documentation"]["doc"] == "None" *))
 +                            \errortext{No docstring present.}
 +                        ((* else *))
 +                            \begin{lstlisting}
 +((( class_contents["documentation"]["doc"] )))
 +                            \end{lstlisting}
 +                        ((* endif *))
 +
 +                        ((* if "methods" in class_contents.keys() *))
 +                        \textbf{Methods:}
 +                            ((* set flat_methods = flatten_struct(class_contents["methods"]) *))
 +                            ((* for method_name, method_contents in flat_methods.items() *))
 +                                ((( expand_function(method_name, method_contents, x = "Method") )))
 +                            ((* endfor *))
 +
 +
 +                        ((* endif *))
 +
 +                    ((* endif *))
 +                    
 +                    ((* else *))
 +                        
 +                        \errortext{Class not present.}
 +
 +                    ((* endif *))
 +
 +
 +                ((* endfor *))
 +
              ((* endif *))
 @@ -93,4 +162,6 @@ breaklines=true      \includepdf[pages={1-},scale=1.0]{((( junit_xml_to_html(test_results["junitxml"], student_no) )))}
  ((* endif *))
 +\end{multicols}
 +
  \end{document}
\ No newline at end of file | 
