Belle II Software development
SubSection Class Reference
Inheritance diagram for SubSection:
LatexObject

Public Member Functions

 __init__ (self, name)
 
 __str__ (self)
 
 add (self)
 
 finish (self)
 
 save (self, filename, compile=False)
 

Public Attributes

str output = ''
 Stores the outputted latex-code.
 

Detailed Description

Adds a new subsection to your latex code.

Definition at line 288 of file b2latex.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
name )
Calls super-class init and adds necessary latex commands to output.

Definition at line 293 of file b2latex.py.

293 def __init__(self, name):
294 """
295 Calls super-class init and adds necessary latex commands to output.
296 """
297 super().__init__()
298 self.output += r"\subsection{" + str(name) + r"}" + '\n'
299
300

Member Function Documentation

◆ __str__()

__str__ ( self)
inherited
Transform object to string, in this case, just returns .the generated latex-code

Definition at line 26 of file b2latex.py.

26 def __str__(self):
27 """
28 Transform object to string, in this case, just returns .the generated latex-code
29 """
30 return self.output
31

◆ add()

add ( self)
inherited
Add latex-code to the output string. This method is usually overridden in the subclasses

Reimplemented in Graphics, Itemize, LatexFile, Listing, LongTable, and String.

Definition at line 32 of file b2latex.py.

32 def add(self):
33 """
34 Add latex-code to the output string.
35 This method is usually overridden in the subclasses
36 """
37 return self
38

◆ finish()

finish ( self)
inherited
Finishes the generation of latex-code. E.g. adds end latex-commands This method is usually overridden in the subclasses

Reimplemented in Graphics, Itemize, Listing, LongTable, and String.

Definition at line 39 of file b2latex.py.

39 def finish(self):
40 """
41 Finishes the generation of latex-code.
42 E.g. adds end latex-commands
43 This method is usually overridden in the subclasses
44 """
45 return self
46

◆ save()

save ( self,
filename,
compile = False )
inherited
Saves the latex-code into a file, adds preamble and end of document, and compiles the code if requested. @param filename latex-code is stored in this file, should end on .tex @param compile compile the .tex file using pdflatex into a .pdf file

Definition at line 47 of file b2latex.py.

47 def save(self, filename, compile=False):
48 """
49 Saves the latex-code into a file, adds preamble and end of document,
50 and compiles the code if requested.
51 @param filename latex-code is stored in this file, should end on .tex
52 @param compile compile the .tex file using pdflatex into a .pdf file
53 """
54 output = r"""
55 \documentclass[10pt,a4paper]{article}
56 \usepackage[latin1]{inputenc}
57 \usepackage[T1]{fontenc}
58 \usepackage{amsmath}
59 \usepackage{amsfonts}
60 \usepackage{amssymb}
61 \usepackage{graphicx}
62 \usepackage{caption}
63 \usepackage{lmodern}
64 \usepackage{placeins}
65 \usepackage{multicol}
66 \usepackage{tikz}
67 \usetikzlibrary{shapes.arrows,chains, positioning}
68 \usepackage{booktabs} %professional tables
69 \usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
70 \usepackage{microtype} %optimises spacing, needs to go after fonts
71 \usepackage{hyperref} %adds links (also in TOC), should be loaded at the very end
72 \usepackage{longtable}
73 \usepackage{color}
74 \usepackage{listings}
75
76 \definecolor{gray}{rgb}{0.4,0.4,0.4}
77 \definecolor{darkblue}{rgb}{0.0,0.0,0.6}
78 \definecolor{cyan}{rgb}{0.0,0.6,0.6}
79
80 \lstset{
81 basicstyle=\ttfamily\scriptsize,
82 columns=fullflexible,
83 showstringspaces=false,
84 commentstyle=\color{gray}\upshape
85 }
86
87 \lstdefinelanguage{XML}
88 {
89 morestring=[b]",
90 morestring=[s]{>}{<},
91 morecomment=[s]{<?}{?>},
92 stringstyle=\color{black},
93 identifierstyle=\color{darkblue},
94 keywordstyle=\color{cyan},
95 morekeywords={xmlns,version,type}% list your attributes here
96 }
97
98 \usepackage[load-configurations=abbreviations]{siunitx}
99 \makeatletter
100 % In newer versions of latex there is a problem with the calc package and tikz
101 % http://tex.stackexchange.com/questions/289551/how-to-resolve-conflict-between-versions-of-texlive-and-pgf
102 \def\pgfmathparse@#1{%
103 % Stuff for calc compatibility.
104 \let\real=\pgfmath@calc@real
105 \let\minof=\pgfmath@calc@minof
106 \let\maxof=\pgfmath@calc@maxof
107 \let\ratio=\pgfmath@calc@ratio
108 \let\widthof=\pgfmath@calc@widthof
109 \let\heightof=\pgfmath@calc@heightof
110 \let\depthof=\pgfmath@calc@depthof
111 % No (math) units yet.
112 \global\pgfmathunitsdeclaredfalse
113 \global\pgfmathmathunitsdeclaredfalse
114 % Expand expression so any remaining CSs are registers
115 % or box dimensions (i.e. |\wd|, |\ht|, |\dp|).
116 \edef\pgfmath@expression{#1}%
117 %
118 \expandafter\pgfmathparse@trynumber@loop\pgfmath@expression\pgfmath@parse@stop
119 %
120 % this here is the _real_ parser. it is invoked by
121 % \pgfmathparse@trynumber@loop if that says "this is no number"
122 %\pgfmathparse@@\pgfmath@parse@stop%
123 }
124 \makeatother
125 \begin{document}
126 """
127 output += self.output
128 output += r"\end{document}"
129
130 with open(filename, 'w') as f:
131 f.write(output)
132 if compile:
133 for i in range(0, 2):
134 ret = subprocess.call(['pdflatex', '-halt-on-error', '-interaction=nonstopmode', filename])
135 if ret != 0:
136 raise RuntimeError("pdflatex failed to create FEI summary PDF, please check.")
137 return self
138
139

Member Data Documentation

◆ output

str output = ''
inherited

Stores the outputted latex-code.

Definition at line 24 of file b2latex.py.


The documentation for this class was generated from the following file: