Giter VIP home page Giter VIP logo

mptikz's Introduction

mptikz - graphical tensor notation for LuaTeX

The mptikz package provides convenient functions for drawing tensor networks in graphical notation. Right now, it manly deals with the 1D tensor networks, i.e. matrix-product states and operators, but it's readily extensible. The package needs LuaLatex or LuaTex to work, I would reccomend to make the diagrams in a standalone file and import the pdf file with \includegraphics.

Tip: \includegraphics also works in math environments. The valign option to \includegraphics allows the user to set the vertical alignmnet. To enable it, you need to import \usepackage[export]{adjustbox}.

Installation

Just copy the mptikz.sty file in your working directory or any directory in the search path of LuaTeX.

Drawing single nodes

Drawing a single tensor is as easy as loading the mptikz package via \usepackage{mptikz} and running the following command inside a tikzpicture.

\tensor{{N=2, S=3, E=1}}

Note the double {{}}. This draws a tensor with 1, 2, and 3 legs on the left (EAST), top (NORTH), and bottom (SOUTH) position, respectively.

See example_1.tex for the full source code. Note that all examples rely on lualatex.

mptikz automatically names tensors and legs, which then can be used to add annoations to the graph (see example_2.tex for the full source code). Also, the example below shows how to customize the look of the tensors using the tensor_style properties passed to the \tensor command. It accepts any valid TikZ style including (as shown below) the name of predefined styles.

\tikzstyle{tensornode}=[draw,minimum size=1, fill=orange, rounded corners=0.1cm]
\tensor{{N=1, tensor_name='A', tensor_style='tensornode', len_vertical_legs=1, leg_style='line width= .2mm', leg_color_NS='black'}}
\node at (A) {$A$};
\node [anchor=west] at (A_N1) {$i$};

For each legs, three different TikZ coordinates are defined: A_N1 stands for the middle first northern leg of the tensor A, A_N1e stands for the end of that leg and A_N1b for the base of the leg.

Drawing more complex MPAs

For drawing chain of tensors (so called Matrix Product Arrays), we provide the \mpa functions shown below. We also show how to manipulate the default values for styling using the \tensorstyle command. See example_3.tex for the full code

\tensorstyle{{len_vertical_legs=0.25, tensor_style='draw, fill=orange, rounded corners=0.1cm', leg_style='line width= .2mm', leg_color_NS='black', leg_color_EW='black'}}
% Draw MPA manually
\tensor{{S=1, W=1, E=1, x=0}}
\tensor{{S=1, W=1, E=1, x=1.25}}
\tensor{{S=1, W=1, E=1, x=2.5}}

% Draw MAP using appropriate function
\tensorstyle{{tensor_style='draw, fill=green, rounded corners=0.1cm'}}
\mpa{3}{{N=1, E=1, W=1, y=-1.25, tensor_name='A'}}
\node at (A_1_2) {$A$};

Block structure

More generally, the first input to \mpa is expected to be an array of integers, and the function will draw blocks of tensors separated by ellipses according to the input. As shown in example_4.tex for the input {3,2,1} we get 3 blocks: the first with 3 tensors, the second with 2 and the last with 1. The function \tlabel also allows to name every tensor in the array at once (to use a \ in the label, to put for instance a greek letter, one has to use \\ instead, more on that below).

\tensorstyle{{len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85 }}
\mpa{{3,2,1}}{{N=1,E=1,W=1, y=0.65, tensor_name='A'}}

\tlabel{'A'}{{ label='$A$' }}

For naming the tensors, we simply append _i_j to the given name, where i is the number of the block and j is the number of the tensor within the block (both starting with 1). Therefore, if we want to address the northern leg of the 2nd tensor in the 1st block, we can use the keys A_1_2_N1, A_1_2_N1e and A_1_2_N1b.

Traces and removing external legs

To draw structures akin to those of Matrix Product States one often has to trace out elements in the diagram by connecting opposite lines. The \mpa command can do so automatically in two different ways. The \mpa command has an optional argument that can take the values -1, 0, 1 and 2.

  • 0 is the default value and does nothing and yields results similar to example_4.tex.

  • -1 removes the most external (East-West) legs, as shown in example_5.tex:

\tensorstyle{{len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85 }}
\mpa[-1]{{2,1,2}}{{N=1,E=1,W=1, y=0.65, tensor_name='A'}}

\tlabel{'A'}{{ label='$A$' }}

  • 1 adds red dots on the most external (East-West) legs, as shown in example_6.tex:
\tensorstyle{{len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85 }}
\mpa[1]{{2,1,2}}{{N=1,E=1,W=1, y=0.65, tensor_name='A'}}

\tlabel{'A'}{{ label='$A$' }}

This is a more "tidy" version of 2.

  • 2 makes most external (East-West) legs loop around as shown in example_7.tex, so they are easier to link as shown in example_8.tex.

Example 7:

\tensorstyle{{len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85 }}
\mpa[2]{{2,1,2}}{{N=1,E=1,W=1, y=0.65, tensor_name='A'}}

\tlabel{'A'}{{ label='$A$' }}

Example 8:

\tensorstyle{{trace_offsetEW=-0.3, len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85}}
\mpa[2]{{2,1,2}}{{N=1,E=1,W=1, y=0.65, tensor_name='A1'}}
	
\draw[line width=1mm, leg_color_EW] (A1_1_1_W1e) -- (A1_3_2_E1e);
	
\tensorstyle{{trace_extensionEW=3}}
	
\mpa[2]{{2,1,2}}{{S=1,E=1,W=1, y=-0.65, tensor_name='A2', trace_inverterE=-1, trace_inverterW=-1}}
	
\tlabel{'A1'}{{ label='$A$' }}
\tlabel{'A2'}{{ label='$\\bar{A}$' }}

This examples features two ways to link the lines that were looped by the option:

  1. By using the \draw command of tikz with the tikz coordinates for the ends of the lines. The color names leg_color_EW and leg_color_NS are loaded with the package to the default color values for horizontal and vertical legs respectively.
  2. By the trace_extensionEW option. This styling option only works with the 2 optional argument of \mpa. It extends the legth of the line by the given argument, therefore changing the position of the tikz coordinate corresponding to the end of the line. It also accepts negative inputs to reduce the length of the line.

The tikz coordinate A1_1_1_W1 is halfway on the "external"/"end" line, with this option there is the new coordinate A1_1_1_W1m which is half way on "turn".

The vertical displacement of the looped line changed between example_7.tex and example_8.tex. This is thanks to the trace_offsetEW option which allows to control for the displacement of the line looping back.

The options trace_inverterE=-1 and trace_inverterW=-1 allow us to change the side on which the line is looped around in example 8.

The same effect can be obtained for the vertical legs of the chain with the style option trace_NS. It takes as argument an array of an array of integers. Each sub-array corresponds to the block of the same index and contains the indices of the tensors within the block that we want to loop around. As is shown in example_9.tex:

\tensorstyle{{trace_offsetNS=-0.2, len_horizontal_legs=0.22, len_vertical_legs = 0.3, x=1.4, tensor_width=0.85, tensor_height=0.85 }}
	
\mpa[-1]{{2,1,2}}{{N=1,E=1,W=1, y=0.65, tensor_name='A1', traceNS = {{1,2},{},{1}} }}
\mpa[-1]{{2,1,2}}{{S=1,E=1,W=1, y=-0.65, tensor_name='A2', traceNS = {{1},{},{1}} }}
	
\tlabel{'A1'}{{ label='$A$' }}
\tlabel{'A2'}{{ label='$\\bar{A}$' }}

Here we used traceNS = {{1,2},{},{1}} for the first line, so for the first block the 1st and 2nd tensor had the vertical leg looped around, for the second block no leg is looped around since the corresponding array is empty and for the last block we have the array {1} therefore only the first tensor has the vertical leg looped around. Whereas for the second line we used traceNS = {{1},{},{1}} therefore for the first block only the first tensor has the looped around leg.

With the option legs_order, which takes as input a string of the form 'NSWE' or 'EWNS', one can decide in which order the legs of the tensor are drawn so to decide which is on top of the other at the intersections.

The options trace_inverterN, trace_inverterS, trace_offsetNS and trace_extensionNS also exists and have the analogous effect of their horizontal counterparts.

There are many more options that come into play for \mpa[2] and traceNS, one can use them both in the second input of \mpa or in \tensorstyle. All these options are listed here:

  • trace_extensionNS and trace_extensionEW correspond to how much the "long trace" is extended (can take negative values).

    • e.g. trace_extensionNS = e in the visual help below.
    • default value: 0.
  • trace_widthNS and trace_widthEW give control to the value of w in the visual help below. In the example given w and w' increase proportionally to trace_widthNS.

    • default value: 0.5.
  • trace_offsetNS and trace_offsetEW give an offset to the "long" part of the lines (can take negative values).

    • e.g. trace_offsetNS = a in the visual help below.
    • default value: 0.
  • trace_inverterN, trace_inverterE, trace_inverterS and trace_inverterW choose the side on which the lines curve. The allowed inputs are +1 and -1. If +1 make the line go right, then -1 will make them go left.

    • default value: +1.
  • leg_W_mult and leg_H_mult control the width between the lines coming out of a tensor.

    • e.g. In the visual help below leg_W_mult corresponds to leg_W_mult = length blue line/length green line.
    • default value: 1.0.
  • legs_order chooses the order in which the legs are drawn.

    • legs_order='EWNS' will first draw forst the east legs, then the west legs, then the north legs and finally the south legs. Therefore the south legs will be on top and the east legs will be at the bottom. Caution: legs_order='EWN' will make the code fail and legs_order='EWNN' will not draw the south legs.
    • deafult value: 'NSEW'.
  • trace_long chooses which legs are looped around in all of the array.

    • e.g. trace_long='NE' loops around automatically all north and east legs.
    • default value: ''.
  • trace_short chooses which legs will have a red dot in all of the array. (The optional inputs 2 and traceNS will override trace_short for the legs on which they act)

    • e.g. trace_short='NS' adds a red dot automatically all north and south legs except those that are looped around by traceNS.
    • default value: ''.

visual help (example_10.tex):

In this example the black lines correspond to the default and the grey lines correspond the modified version.

Labelling

The function \tlabel work "en par" with \mpa. In example_9.tex we saw the two following examples:

\tlabel{'A1'}{{ label='$A$' }}
\tlabel{'A2'}{{ label='$\\bar{A}$' }}

A1 and A2 refer to the tikz name for the first and second array. In the second argument the option label takes the wanted label to be repeated to on each tensor. And any \ has to be escaped (because the string is parsed in lua), therefore \bar is replaced by \\bar.

The second argument can take other options than label. For instance start_indices which is an array with as many elements as there are blocks. Each element of the array is either an integer (see example_11.tex) or an array of the following structure {string, integer} (see example_12.tex).

Example 11:

\mpa[-1]{{3,2}}{{tensor_name='A'}}
\tlabel{'A'}{{ label='$A$', start_indices={1,9}}}

By putting intgerers as elements of start_indices we tell the code to start counting from that index within the block and it is incremented (it also accepts negative numbers).

Example 12:

\mpa[-1]{{2,3,1}}{{tensor_name='A'}}
\tlabel{'A'}{{ label='$A$', start_indices={1,{'j',-1},{'n',0}} }}

This allows for the fast naming of complicated structures. If the input to a given block is {str, i} then the index that is given to the j-th tensor of the block is $str+i+j-1$. There are other options that allow for the styling of how these indices are added and more technical things:

  • index_placer for how to place the index after the label ('^', '_' or ' ').
    • default value: '^'.
  • index_delimiter takes a 2 character string that defines the delimiters to use before and after the indices.
    • e.g. [], (), ||, (2 spaces for no delimiter), ...
    • default value: ().
  • label (as seen above) is a string that is put as is in every tensor. (\ needs to be escaped)
    • deault value: ''.
  • labels is an array of strings where each element is copied as is (after label) within the corresponding block (\ needs to be escaped).
    • deault value: ''
  • blocks_lenghts the code remembers from the last \mpa used the corresponding lengths of each block. Though if \mpa is used again with different block lengths than in the first case blocks_lenghts needs to be set to the correct lengths or the code risks failing.

These options can all be seen at work in example_13.tex:

\mpa[-1]{{2,3,1}}{{tensor_name='A'}}
\tlabel{'A'}{{ label='$A$', start_indices={1,{'j',-1},{'n',0}}, index_placer='_', index_delimiter='  ',
labels={'$a$','$b$','$c$'}, blocks_lenghts={2,3,1} }}

Tensor Style Parameters

The function \tensorstyle changes the default values to the options that are specified as input. Here are the possible inputs it can take that were not mentioned before:

  • len_vertical_legs and len_horizontal_legs, default: 0.25,
  • tensor_height and tensor_width, default: 0.75,
  • tensor_name, default: 'T',
  • tensor_style, default: 'draw, fill=default_fill, rounded corners=0.1cm',
  • leg_style, default: 'line width = 1mm',
  • leg_color_EW and leg_color_NS, defaults: 'leg_color_EW' and 'leg_color_NS',
  • show_name, default: false,
  • name_style, default: '',
  • N, E, S and W: the number of legs on each side, default: 0,

Lua Interface

Beside the TeX interface, we also provide a Lua interface to the drawing functions. See example_14.tex for the full code.

for i = 1, nr_rows do
  local name = string.format('T%i', i)
  mptikz.draw_mpa(nr_cols, {y=-(i - 1) * 1.2, tensor_name=name},-1)

  for j = 1, nr_cols do
    local node_name = string.format('T%i_1_%i', i, j)
    local node_label = string.format('$T_{%i,%i}$', i, j)
    local tex_cmd = string.format('\\node at (%s) {%s};', node_name, node_label)
    tex.print(tex_cmd)
  end
end

mptikz's People

Contributors

arolandi97 avatar dsuess avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mptikz's Issues

Doesn't compile properly when putting example 14 inside an article

I modified example 14 so that I can embed the image inside an article documentclass instead of standalone as in the example. However that makes \maketitle not function properly. The behavior is shown in the image below and the corresponding code. The abstract, toc also don't render properly. But all of those had a similar issue: *Font metric data not loadable. I have since reinstalled everything from scratch and updated luaotfload`.

image

\RequirePackage{luatex85}
\documentclass[a4paper,12pt]{article}%           autres choix : report, book
\usepackage[english]{babel}

\usepackage{fontspec}
\usepackage{epstopdf}

% \setmainfont[Ligatures=TeX]{Source Sans Pro}
% \setsansfont[Ligatures=TeX]{Source Sans Pro}
% \setmonofont[Ligatures=TeX]{DejaVu Sans Mono}
\usepackage{tikz}
\usepackage{textcomp}%             caractères additionnels
\usepackage{amsmath,amssymb}%      pour les maths
\usepackage{mathtools}%            Amélioration de amsmath
\usepackage{lmodern}%              remplacer éventuellement par txfonts, fourier, etc.
\usepackage{graphicx}%             pour inclure des images
\usepackage{xcolor}%               pour gérer les couleurs
% \usepackage{microtype}%            améliorations typographiqueslua
\usepackage{mathrsfs}%             \mathscr

\usepackage[utf8]{inputenc} 
\usepackage{fontenc}
\usepackage{csquotes}

\usepackage{caption}%    Personnalisation des légendes des flottants
\usepackage{subcaption}% Sous figures / sous tableaux

\usepackage{listings}%   listings informatique


\usepackage{luacode}
% \usepackage{lua-visual-debug}
\usepackage{mptikz}

\begin{document}

\title{Lua Code for image generation}
\author{Varun Seshadri}
\date{\today}

\maketitle

% \begin{abstract}
%     This a test abstract
% \end{abstract}
% \tableofcontents

\section{Building a tensor network using Lua Code}

This a test text.
\begin{figure}[!ht]
    \begin{center}

        \begin{tikzpicture}
            \LuaCodeDebugOn
            \begin{luacode*}
                local nr_rows = 6
                local nr_cols = 8
                mptikz.set_style({N=1,E=1,W=1,S=1, len_vertical_legs=0.25, len_horizontal_legs=0.25, tensor_style='draw, fill=orange, rounded corners=0.1cm', leg_style='line width=.4mm', leg_color_NS='black', leg_color_EW='black'})

                for i = 1, nr_rows do
                local name = string.format('T%i', i)
                mptikz.draw_mpa(nr_cols, {y=-(i - 1) * 1.2, tensor_name=name},-1)

                for j = 1, nr_cols do
                local node_name = string.format('T%i_1_%i', i, j)
                local node_label = string.format('$T_{%i,%i}$', i, j)
                local tex_cmd = string.format('\\node at (%s) {%s};', node_name, node_label)
                tex.print(tex_cmd)
                end
                end
            \end{luacode*}
            \LuaCodeDebugOff
        \end{tikzpicture}
    \end{center}
\end{figure}


\end{document}

Without including the \luacode* environment it works fine and the title displays correctly. Here is the log file for your reference

This is LuaHBTeX, Version 1.15.0 (TeX Live 2022/Homebrew)  (format=lualatex 2022.3.21)  3 SEP 2022 13:24
 restricted system commands enabled.
 file:line:error style messages enabled.
**/home/varunseshadri/latex/draw_tensors/draw_tensors.tex
(/home/varunseshadri/latex/draw_tensors/draw_tensors.tex
LaTeX2e <2021-11-15> patch level 1
Lua module: luaotfload 2022-03-18 3.21 Lua based OpenType font support
Lua module: lualibs 2021-05-20 2.74 ConTeXt Lua standard libraries.
Lua module: lualibs-extended 2021-05-20 2.74 ConTeXt Lua libraries -- extended collection.
luaotfload | conf : Root cache directory is "/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-var/luatex-cache/generic/names".
luaotfload | init : Loading fontloader "fontloader-2022-02-24.lua" from kpse-resolved path "/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/luatex/luaotfload/fontloader-2022-02-24.lua".
Lua-only attribute luaotfload@noligature = 1
luaotfload | init : Context OpenType loader version 3.119
Inserting `luaotfload.node_processor' at position 1 in `pre_linebreak_filter'.
Inserting `luaotfload.node_processor' at position 1 in `hpack_filter'.
Inserting `luaotfload.glyph_stream' at position 1 in `glyph_stream_provider'.
Inserting `luaotfload.define_font' at position 1 in `define_font'.
Lua-only attribute luaotfload_color_attribute = 2
luaotfload | conf : Root cache directory is "/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-var/luatex-cache/generic/names".
Inserting `luaotfload.harf.strip_prefix' at position 1 in `find_opentype_file'.
Inserting `luaotfload.harf.strip_prefix' at position 1 in `find_truetype_file'.
Removing  `luaotfload.glyph_stream' from `glyph_stream_provider'.
Inserting `luaotfload.harf.glyphstream' at position 1 in `glyph_stream_provider'.
Inserting `luaotfload.harf.finalize_vlist' at position 1 in `post_linebreak_filter'.
Inserting `luaotfload.harf.finalize_hlist' at position 2 in `hpack_filter'.
Inserting `luaotfload.cleanup_files' at position 1 in `wrapup_run'.
Inserting `luaotfload.harf.finalize_unicode' at position 1 in `finish_pdffile'.
Inserting `luaotfload.glyphinfo' at position 1 in `glyph_info'.
Lua-only attribute luaotfload.letterspace_done = 3
Inserting `luaotfload.aux.set_sscale_dimens' at position 1 in `luaotfload.patch_font'.
Inserting `luaotfload.aux.set_font_index' at position 2 in `luaotfload.patch_font'.
Inserting `luaotfload.aux.patch_cambria_domh' at position 3 in `luaotfload.patch_font'.
Inserting `luaotfload.aux.fixup_fontdata' at position 1 in `luaotfload.patch_font_unsafe'.
Inserting `luaotfload.aux.set_capheight' at position 4 in `luaotfload.patch_font'.
Inserting `luaotfload.aux.set_xheight' at position 5 in `luaotfload.patch_font'.
Inserting `luaotfload.rewrite_fontname' at position 6 in `luaotfload.patch_font'. L3 programming layer <2022-02-24>
Inserting `tracingstacklevels' at position 1 in `input_level_string'. (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/luatex85/luatex85.sty
Package: luatex85 2016/06/15 v1.4 pdftex aliases for luatex
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/size12.clo
File: size12.clo 2021/10/04 v1.4n Standard LaTeX file (size option)
luaotfload | db : Font names database loaded from /home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-var/luatex-cache/generic/names/luaotfload-names.luc.gz)
\c@part=\count183
\c@section=\count184
\c@subsection=\count185
\c@subsubsection=\count186
\c@paragraph=\count187
\c@subparagraph=\count188
\c@figure=\count189
\c@table=\count190
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen137
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2022/02/26 3.73 The Babel package
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/babel/luababel.def
\bbl@readstream=\read2
\l@dumylang=\language2
Package babel Info: Non-standard hyphenation setup on input line 118.
\l@nohyphenation=\language3
\l@german-x-2022-03-16=\language4
\l@ngerman-x-2022-03-16=\language5
\l@afrikaans=\language6
\l@ancientgreek=\language7
\l@ibycus=\language8
\l@arabic=\language9
\l@armenian=\language10
\l@basque=\language11
\l@belarusian=\language12
\l@bulgarian=\language13
\l@catalan=\language14
\l@pinyin=\language15
\l@churchslavonic=\language16
\l@coptic=\language17
\l@croatian=\language18
\l@czech=\language19
\l@danish=\language20
\l@dutch=\language21
\l@ukenglish=\language22
\l@usenglishmax=\language23
\l@esperanto=\language24
\l@estonian=\language25
\l@ethiopic=\language26
\l@farsi=\language27
\l@finnish=\language28
\l@schoolfinnish=\language29
\l@french=\language30
\l@friulan=\language31
\l@galician=\language32
\l@georgian=\language33
\l@german=\language34
\l@ngerman=\language35
\l@swissgerman=\language36
\l@greek=\language37
\l@monogreek=\language38
\l@hungarian=\language39
\l@icelandic=\language40
\l@assamese=\language41
\l@bengali=\language42
\l@gujarati=\language43
\l@hindi=\language44
\l@kannada=\language45
\l@malayalam=\language46
\l@marathi=\language47
\l@oriya=\language48
\l@pali=\language49
\l@panjabi=\language50
\l@tamil=\language51
\l@telugu=\language52
\l@indonesian=\language53
\l@interlingua=\language54
\l@irish=\language55
\l@italian=\language56
\l@kurmanji=\language57
\l@classiclatin=\language58
\l@latin=\language59
\l@liturgicallatin=\language60
\l@latvian=\language61
\l@lithuanian=\language62
\l@macedonian=\language63
\l@mongolian=\language64
\l@mongolianlmc=\language65
\l@bokmal=\language66
\l@nynorsk=\language67
\l@occitan=\language68
\l@piedmontese=\language69
\l@polish=\language70
\l@portuguese=\language71
\l@romanian=\language72
\l@romansh=\language73
\l@russian=\language74
\l@sanskrit=\language75
\l@serbian=\language76
\l@serbianc=\language77
\l@slovak=\language78
\l@slovenian=\language79
\l@spanish=\language80
\l@swedish=\language81
\l@thai=\language82
\l@turkish=\language83
\l@turkmen=\language84
\l@ukrainian=\language85
\l@uppersorbian=\language86
\l@welsh=\language87
\babelcatcodetablenum=\catcodetable12
\bbl@pattcodes=\catcodetable13
)
\babel@savecnt=\count191
\U@D=\dimen138
\l@unhyphenated=\language88
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/babel/luababel.def
\bbl@attr@locale=\attribute4
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/babel-english/english.ldf
Language: english 2017/06/06 v3.3r English support from the babel system
Package babel Info: Hyphen rules for 'canadian' set to \l@english
(babel)             (\language0). Reported on input line 102.
Package babel Info: Hyphen rules for 'australian' set to \l@ukenglish
(babel)             (\language22). Reported on input line 105.
Package babel Info: Hyphen rules for 'newzealand' set to \l@ukenglish
(babel)             (\language22). Reported on input line 108.
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/fontspec/fontspec.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/l3kernel/expl3.sty
Package: expl3 2022-02-24 L3 programming layer (loader) 
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
File: l3backend-luatex.def 2022-02-07 L3 backend support: PDF output (LuaTeX)
\l__color_backend_stack_int=\count192
\l__pdf_internal_box=\box50
))
Package: xparse 2022-01-12 L3 Experimental document command parser
)
Package: fontspec 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX
Lua module: fontspec 2022/01/15 2.8a Font selection for XeLaTeX and LuaLaTeX (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
Package: fontspec-luatex 2022/01/15 v2.8a Font selection for XeLaTeX and LuaLaTeX
\l__fontspec_script_int=\count193
\l__fontspec_language_int=\count194
\l__fontspec_strnum_int=\count195
\l__fontspec_tmp_int=\count196
\l__fontspec_tmpa_int=\count197
\l__fontspec_tmpb_int=\count198
\l__fontspec_tmpc_int=\count199
\l__fontspec_em_int=\count266
\l__fontspec_emdef_int=\count267
\l__fontspec_strong_int=\count268
\l__fontspec_strongdef_int=\count269
\l__fontspec_tmpa_dim=\dimen139
\l__fontspec_tmpb_dim=\dimen140
\l__fontspec_tmpc_dim=\dimen141
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/fontspec/fontspec.cfg))) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf.sty
Package: epstopdf 2020-01-24 v2.11 Conversion with epstopdf on the fly (HO)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/grfext/grfext.sty
Package: grfext 2019/12/03 v1.3 Manage graphics extensions (HO)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks16
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
Package: ltxcmds 2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/iftex/iftex.sty
Package: iftex 2022/02/03 v1.0f TeX engine tests
)
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
\pdftexcmds@toks=\toks17
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf


Package epstopdf Warning: No graphics package `graphic{s,x}' loaded.

)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
\pgfutil@everybye=\toks18
\pgfutil@tempdima=\dimen142
\pgfutil@tempdimb=\dimen143
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
\pgfutil@abb=\box51
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/pgf.revision.tex)
Package: pgfrcs 2021/05/15 v3.1.9a (3.1.9a)
))
Package: pgf 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: luatex.def on input line 107.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics-def/luatex.def
File: luatex.def 2021/06/01 v1.2c Graphics/color driver for luatex
))
\Gin@req@height=\dimen144
\Gin@req@width=\dimen145
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
Package: pgfsys 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
\pgfkeys@pathtoks=\toks19
\pgfkeys@temptoks=\toks20
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
\pgfkeys@tmptoks=\toks21
))
\pgf@x=\dimen146
\pgf@y=\dimen147
\pgf@xa=\dimen148
\pgf@ya=\dimen149
\pgf@xb=\dimen150
\pgf@yb=\dimen151
\pgf@xc=\dimen152
\pgf@yc=\dimen153
\pgf@xd=\dimen154
\pgf@yd=\dimen155
\w@pgf@writea=\write3
\r@pgf@reada=\read3
\c@pgf@counta=\count270
\c@pgf@countb=\count271
\c@pgf@countc=\count272
\c@pgf@countd=\count273
\t@pgf@toka=\toks22
\t@pgf@tokb=\toks23
\t@pgf@tokc=\toks24
\pgf@sys@id@count=\count274
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
File: pgf.cfg 2021/05/15 v3.1.9a (3.1.9a)
)
Driver file for pgf: pgfsys-luatex.def
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
File: pgfsys-luatex.def 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
File: pgfsys-common-pdf.def 2021/05/15 v3.1.9a (3.1.9a)
))) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
File: pgfsyssoftpath.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfsyssoftpath@smallbuffer@items=\count275
\pgfsyssoftpath@bigbuffer@items=\count276
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
File: pgfsysprotocol.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: luatex.def on input line 227.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1356.
Package xcolor Info: Model `RGB' extended on input line 1368.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375.
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
Package: pgfcore 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
\pgfmath@dimen=\dimen156
\pgfmath@count=\count277
\pgfmath@box=\box52
\pgfmath@toks=\toks25
\pgfmath@stack@operand=\toks26
\pgfmath@stack@operation=\toks27
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex))) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
\c@pgfmathroundto@lastzeros=\count278
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
File: pgfcorepoints.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@picminx=\dimen157
\pgf@picmaxx=\dimen158
\pgf@picminy=\dimen159
\pgf@picmaxy=\dimen160
\pgf@pathminx=\dimen161
\pgf@pathmaxx=\dimen162
\pgf@pathminy=\dimen163
\pgf@pathmaxy=\dimen164
\pgf@xx=\dimen165
\pgf@xy=\dimen166
\pgf@yx=\dimen167
\pgf@yy=\dimen168
\pgf@zx=\dimen169
\pgf@zy=\dimen170
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
File: pgfcorepathconstruct.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@path@lastx=\dimen171
\pgf@path@lasty=\dimen172
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
File: pgfcorepathusage.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@shorten@end@additional=\dimen173
\pgf@shorten@start@additional=\dimen174
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
File: pgfcorescopes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfpic=\box53
\pgf@hbox=\box54
\pgf@layerbox@main=\box55
\pgf@picture@serial@count=\count279
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
File: pgfcoregraphicstate.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgflinewidth=\dimen175
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
File: pgfcoretransformations.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@pt@x=\dimen176
\pgf@pt@y=\dimen177
\pgf@pt@temp=\dimen178
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
File: pgfcorequick.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
File: pgfcoreobjects.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
File: pgfcorepathprocessing.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
File: pgfcorearrows.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfarrowsep=\dimen179
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
File: pgfcoreshade.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@max=\dimen180
\pgf@sys@shading@range@num=\count280
\pgf@shadingcount=\count281
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
File: pgfcoreimage.code.tex 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
File: pgfcoreexternal.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfexternal@startupbox=\box56
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
File: pgfcorelayers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
File: pgfcoretransparency.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
File: pgfcorepatterns.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
File: pgfcorerdf.code.tex 2021/05/15 v3.1.9a (3.1.9a)
))) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
File: pgfmoduleshapes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfnodeparttextbox=\box57
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
File: pgfmoduleplot.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
Package: pgfcomp-version-0-65 2021/05/15 v3.1.9a (3.1.9a)
\pgf@nodesepstart=\dimen181
\pgf@nodesepend=\dimen182
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
Package: pgfcomp-version-1-18 2021/05/15 v3.1.9a (3.1.9a)
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
Package: pgffor 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)
\pgffor@iter=\dimen183
\pgffor@skip=\dimen184
\pgffor@stack=\toks28
\pgffor@toks=\toks29
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
Package: tikz 2021/05/15 v3.1.9a (3.1.9a)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
File: pgflibraryplothandlers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@plot@mark@count=\count282
\pgfplotmarksize=\dimen185
)
\tikz@lastx=\dimen186
\tikz@lasty=\dimen187
\tikz@lastxsaved=\dimen188
\tikz@lastysaved=\dimen189
\tikz@lastmovetox=\dimen190
\tikz@lastmovetoy=\dimen191
\tikzleveldistance=\dimen192
\tikzsiblingdistance=\dimen193
\tikz@figbox=\box58
\tikz@figbox@bg=\box59
\tikz@tempbox=\box60
\tikz@tempbox@bg=\box61
\tikztreelevel=\count283
\tikznumberofchildren=\count284
\tikznumberofcurrentchild=\count285
\tikz@fig@count=\count286
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
File: pgfmodulematrix.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfmatrixcurrentrow=\count287
\pgfmatrixcurrentcolumn=\count288
\pgf@matrix@numberofcolumns=\count289
)
\tikz@expandcount=\count290
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
File: tikzlibrarytopaths.code.tex 2021/05/15 v3.1.9a (3.1.9a)
))) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/textcomp.sty
Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2021/10/15 v2.17l AMS math features
\@mathmargin=\skip49

For additional information on amsmath, use the `?' option.
(/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2021/08/26 v2.01 AMS text
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks30
\ex@=\dimen194
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen195
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 2021/08/26 v2.02 operator names
)
\inf@bad=\count291
LaTeX Info: Redefining \frac on input line 236.
\uproot@=\count292
\leftroot@=\count293
LaTeX Info: Redefining \overline on input line 399.
\classnum@=\count294
\DOTSCASE@=\count295
LaTeX Info: Redefining \ldots on input line 496.
LaTeX Info: Redefining \dots on input line 499.
LaTeX Info: Redefining \cdots on input line 620.
\Mathstrutbox@=\box62
\strutbox@=\box63
\big@size=\dimen196
LaTeX Font Info:    Redeclaring font encoding OML on input line 743.
LaTeX Font Info:    Redeclaring font encoding OMS on input line 744.
\macc@depth=\count296
\c@MaxMatrixCols=\count297
\dotsspace@=\muskip16
\c@parentequation=\count298
\dspbrk@lvl=\count299
\tag@help=\toks31
\row@=\count300
\column@=\count301
\maxfields@=\count302
\andhelp@=\toks32
\eqnshift@=\dimen197
\alignsep@=\dimen198
\tagshift@=\dimen199
\tagwidth@=\dimen256
\totwidth@=\dimen257
\lineht@=\dimen258
\@envbody=\toks33
\multlinegap=\skip50
\multlinetaggap=\skip51
\mathdisplay@stack=\toks34
LaTeX Info: Redefining \[ on input line 2938.
LaTeX Info: Redefining \] on input line 2939.
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
Package: amssymb 2013/01/14 v3.01 AMS font symbols
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info:    Redeclaring math symbol \hbar on input line 98.
LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
(Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/mathtools/mathtools.sty
Package: mathtools 2022/02/07 v1.28a mathematical typesetting tools
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/tools/calc.sty
Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ)
\calc@Acount=\count303
\calc@Bcount=\count304
\calc@Adimen=\dimen259
\calc@Bdimen=\dimen260
\calc@Askip=\skip52
\calc@Bskip=\skip53
LaTeX Info: Redefining \setlength on input line 80.
LaTeX Info: Redefining \addtolength on input line 81.
\calc@Ccount=\count305
\calc@Cskip=\skip54
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/mathtools/mhsetup.sty
Package: mhsetup 2021/03/18 v1.4 programming setup (MH)
)
\g_MT_multlinerow_int=\count306
\l_MT_multwidth_dim=\dimen261
\origjot=\skip55
\l_MT_shortvdotswithinadjustabove_dim=\dimen262
\l_MT_shortvdotswithinadjustbelow_dim=\dimen263
\l_MT_above_intertext_sep=\dimen264
\l_MT_below_intertext_sep=\dimen265
\l_MT_above_shortintertext_sep=\dimen266
\l_MT_below_shortintertext_sep=\dimen267
\xmathstrut@box=\box64
\xmathstrut@dim=\dimen268
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/lm/lmodern.sty
Package: lmodern 2015/05/01 v1.6.1 Latin Modern Fonts
LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
(Font)                  OT1/cmr/m/n --> OT1/lmr/m/n on input line 22.
LaTeX Font Info:    Overwriting symbol font `letters' in version `normal'
(Font)                  OML/cmm/m/it --> OML/lmm/m/it on input line 23.
LaTeX Font Info:    Overwriting symbol font `symbols' in version `normal'
(Font)                  OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24.
LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `normal'
(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 25.
LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26.
LaTeX Font Info:    Overwriting symbol font `letters' in version `bold'
(Font)                  OML/cmm/b/it --> OML/lmm/b/it on input line 27.
LaTeX Font Info:    Overwriting symbol font `symbols' in version `bold'
(Font)                  OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28.
LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 29.
LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `normal'
(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31.
LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `normal'
(Font)                  OT1/cmss/m/n --> OT1/lmss/m/n on input line 32.
LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `normal'
(Font)                  OT1/cmr/m/it --> OT1/lmr/m/it on input line 33.
LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `normal'
(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34.
LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `bold'
(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35.
LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
(Font)                  OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36.
LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
(Font)                  OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37.
LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38.
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/jknapltx/mathrsfs.sty
Package: mathrsfs 1996/01/01 Math RSFS package v1.0 (jk)
\symrsfs=\mathgroup6
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/inputenc.sty
Package: inputenc 2021/02/14 v1.3d Input encoding file
\inpenc@prehook=\toks35
\inpenc@posthook=\toks36


Package inputenc Warning: inputenc package ignored with utf8 based engines.

) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/csquotes/csquotes.sty
Package: csquotes 2021-02-22 v5.2l context-sensitive quotations (JAW)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
\etb@tempcnta=\count307
)
\csq@reset=\count308
\csq@gtype=\count309
\csq@glevel=\count310
\csq@qlevel=\count311
\csq@maxlvl=\count312
\csq@tshold=\count313
\csq@ltx@everypar=\toks37
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/csquotes/csquotes.def
File: csquotes.def 2021-02-22 v5.2l csquotes generic definitions (JAW)
)
Package csquotes Info: Trying to load configuration file 'csquotes.cfg'...
Package csquotes Info: ... configuration file loaded successfully.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/csquotes/csquotes.cfg
File: csquotes.cfg 
)) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/caption/caption.sty
Package: caption 2022/03/01 v3.6b Customizing captions (AR)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/caption/caption3.sty
Package: caption3 2022/03/17 v2.3b caption3 kernel (AR)
\caption@tempdima=\dimen269
\captionmargin=\dimen270
\caption@leftmargin=\dimen271
\caption@rightmargin=\dimen272
\caption@width=\dimen273
\caption@indent=\dimen274
\caption@parindent=\dimen275
\caption@hangindent=\dimen276
Package caption Info: Standard document class detected.
)
\c@caption@flags=\count314
\c@continuedfloat=\count315
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/caption/subcaption.sty
Package: subcaption 2022/01/07 v1.5 Sub-captions (AR)
\c@subfigure=\count316
\c@subtable=\count317
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count318
\lst@gtempboxa=\box65
\lst@token=\toks38
\lst@length=\count319
\lst@currlwidth=\dimen277
\lst@column=\count320
\lst@pos=\count321
\lst@lostspace=\dimen278
\lst@width=\dimen279
\lst@newlines=\count322
\lst@lineno=\count323
\lst@maxwidth=\dimen280
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2020/03/24 1.8d (Carsten Heinz)
\c@lstnumber=\count324
\lst@skipnumbers=\count325
\lst@framebox=\box66
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2020/03/24 1.8d listings configuration
))
Package: listings 2020/03/24 1.8d (Carsten Heinz)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
Package: fancyhdr 2021/01/28 v4.0.1 Extensive control of page headers and footers
\f@nch@headwidth=\skip56
\f@nch@O@elh=\skip57
\f@nch@O@erh=\skip58
\f@nch@O@olh=\skip59
\f@nch@O@orh=\skip60
\f@nch@O@elf=\skip61
\f@nch@O@erf=\skip62
\f@nch@O@olf=\skip63
\f@nch@O@orf=\skip64
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/lualatex/luacode/luacode.sty
Package: luacode 2012/01/23 v1.2a lua-in-tex helpers (mpg)
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/generic/iftex/ifluatex.sty
Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
) (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/luatex/luatexbase/luatexbase.sty
Package: luatexbase 2015/10/04 v1.3 luatexbase interface to LuaTeX 
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/luatex/ctablestack/ctablestack.sty
Package: ctablestack 2015/10/01 v1.0 Catcode table stable support
\@catcodetablestackcnt=\count326
)
\CatcodeTableOther=\catcodetable14
\CatcodeTableExpl=\catcodetable15
)
\luacode@lines=\toks39
\luacode@table@soft=\catcodetable16
) (./mptikz.sty
Package: mptikz 2017/12/13 MPTikZ
)
Package csquotes Info: Checking for multilingual support...
Package csquotes Info: ... found 'babel' package.
Package csquotes Info: Adjusting default style.
Package csquotes Info: Redefining alias 'default' -> 'english'.
 (./draw_tensors.aux)
\openout1 = draw_tensors.aux

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 61.
LaTeX Font Info:    Trying to load font information for TS1+cmr on input line 61.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/base/ts1cmr.fd
File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
)
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for TU/lmr/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 61.
LaTeX Font Info:    ... okay on input line 61.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count327
\scratchdimen=\dimen281
\scratchbox=\box67
\nofMPsegments=\count328
\nofMParguments=\count329
\everyMPshowfont=\toks40
\MPscratchCnt=\count330
\MPscratchDim=\dimen282
\MPnumerator=\count331
\makeMPintoPDFobject=\count332
\everyMPtoPDFconversion=\toks41
)
Package caption Info: Begin \AtBeginDocument code.
Package caption Info: listings package is loaded.
Package caption Info: End \AtBeginDocument code.
\c@lstlisting=\count333
[\directlua]:3: bad argument #2 to 'sub' (number expected, got string).
<to be read again> 
relax 
l.67 \maketitle
             
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

/home/varunseshadri/latex/draw_tensors/draw_tensors.tex:67: Font \TU/lmr/m/n/20.74=[lmroman17-regular]:+tlig; at 20.74pt not loadable: metric data not found or bad.
<to be read again> 
relax 
l.67 \maketitle
             
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

LaTeX Font Info:    Trying to load font information for OT1+lmr on input line 67.
(/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/lm/ot1lmr.fd
File: ot1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
)
LaTeX Font Info:    Trying to load font information for OML+lmm on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/lm/omllmm.fd
File: omllmm.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
)
LaTeX Font Info:    Trying to load font information for OMS+lmsy on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/lm/omslmsy.fd
File: omslmsy.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
)
LaTeX Font Info:    Trying to load font information for OMX+lmex on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/lm/omxlmex.fd
File: omxlmex.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
)
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <14.4> on input line 67.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <10> on input line 67.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <7> on input line 67.
LaTeX Font Info:    Trying to load font information for U+msa on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
)
LaTeX Font Info:    Trying to load font information for U+msb on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
)
LaTeX Font Info:    Trying to load font information for U+rsfs on input line 67.
 (/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/tex/latex/jknapltx/ursfs.fd
File: ursfs.fd 1998/03/24 rsfs font definition file (jk)
)[\directlua]:3: bad argument #2 to 'sub' (number expected, got string).
<to be read again> 
relax 
l.74 ...on{Building a tensor network using Lua Code}
                                                  
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

/home/varunseshadri/latex/draw_tensors/draw_tensors.tex:74: Font \TU/lmr/m/n/17.28=[lmroman17-regular]:+tlig; at 17.28pt not loadable: metric data not found or bad.
<to be read again> 
relax 
l.74 ...on{Building a tensor network using Lua Code}
                                                  
I wasn't able to read the size data for this font,
so I will ignore the font specification.
[Wizards can fix TFM files using TFtoPL/PLtoTF.]
You might try inserting a different font spec;
e.g., type `I\font<same font id>=<substitute font name>'.

-- BEGIN luacode debug (on input line 98)
local nr_rows = 6
local nr_cols = 8
mptikz.set_style({N=1,E=1,W=1,S=1, len_vertical_legs=0.25, len_horizontal_legs=0.25, tensor_style='draw, fill=orange, rounded corners=0.1cm', leg_style='line width=.4mm', leg_color_NS='black', leg_color_EW='black'})

for i = 1, nr_rows do
local name = string.format('T%i', i)
mptikz.draw_mpa(nr_cols, {y=-(i - 1) * 1.2, tensor_name=name},-1)

for j = 1, nr_cols do
local node_name = string.format('T%i_1_%i', i, j)
local node_label = string.format('$T_{%i,%i}$', i, j)
local tex_cmd = string.format('\\node at (%s) {%s};', node_name, node_label)
tex.print(tex_cmd)
end
end
-- END luacode debug (on input line 98)
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <12> on input line 55.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <8> on input line 55.
LaTeX Font Info:    External font `lmex10' loaded for size
(Font)              <6> on input line 55.
[1


Missing character: There is no L (U+004C) in font nullfont!
Missing character: There is no u (U+0075) in font nullfont!
Missing character: There is no a (U+0061) in font nullfont!
Missing character: There is no C (U+0043) in font nullfont!
Missing character: There is no o (U+006F) in font nullfont!
Missing character: There is no d (U+0064) in font nullfont!
Missing character: There is no e (U+0065) in font nullfont!
Missing character: There is no f (U+0066) in font nullfont!
Missing character: There is no o (U+006F) in font nullfont!
Missing character: There is no r (U+0072) in font nullfont!
Missing character: There is no i (U+0069) in font nullfont!
Missing character: There is no m (U+006D) in font nullfont!
Missing character: There is no a (U+0061) in font nullfont!
Missing character: There is no g (U+0067) in font nullfont!
Missing character: There is no e (U+0065) in font nullfont!
Missing character: There is no g (U+0067) in font nullfont!
Missing character: There is no e (U+0065) in font nullfont!
Missing character: There is no n (U+006E) in font nullfont!
Missing character: There is no e (U+0065) in font nullfont!
Missing character: There is no r (U+0072) in font nullfont!
Missing character: There is no a (U+0061) in font nullfont!
Missing character: There is no t (U+0074) in font nullfont!
Missing character: There is no i (U+0069) in font nullfont!
Missing character: There is no o (U+006F) in font nullfont!
Missing character: There is no n (U+006E) in font nullfont!
{/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/map/pdftex/updmap/pdftex.map}] (./draw_tensors.aux))

Here is how much of LuaTeX's memory you used:
 26487 strings out of 477785
 156264,953878 words of node,token memory allocated
 525 words of node memory still in use:
   6 hlist, 2 vlist, 2 rule, 2 glue, 4 kern, 1 glyph, 13 attribute, 56 glue_spec, 8 attribute_list, 2 write nodes
   avail lists: 1:1,2:22901,3:8601,4:742,5:39,6:12,7:5870,8:4,9:3238,10:5,11:12
 46279 multiletter control sequences out of 65536+600000
 55 fonts using 3444135 bytes
 100i,9n,98p,490b,1277s stack positions out of 10000i,1000n,20000p,200000b,200000s
{/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc}{/home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc}</home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/opentype/public/lm/lmroman12-bold.otf></home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf></home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/type1/public/lm/lmmi12.pfb></home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/type1/public/lm/lmmi8.pfb></home/linuxbrew/.linuxbrew/Cellar/texlive/20220321_2/share/texmf-dist/fonts/type1/public/lm/lmr8.pfb>
Output written on draw_tensors.pdf (1 page, 41023 bytes).

PDF statistics: 39 PDF objects out of 1000 (max. 8388607)
 26 compressed objects within 1 object stream
 0 named destinations out of 1000 (max. 131072)
 16 words of extra memory for PDF output out of 10000 (max. 100000000)




Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.