ORIGINAL QUESTION: I have major problems compiling Feynman diagrams produced with the tikz-feynman package with lualatex. To make it less likely that I am just sloppy, I copied the example from this .   \documentclass[tikz, border=10pt]{standalone}  \usepackage[compat=1.1.0]{tikz-feynman}  \begin{document} \begin{tikzpicture}   \begin{feynman}     \diagram [vertical'=a to b, edges={red}] {       i1 -- [fermion] a -- [fermion] f1,       a -- [photon] b,       i2 -- [fermion] b -- [fermion] f2,     };      \vertex [above right=of f1] (k1);     \vertex [below right=of f1] (p1);     \vertex [below right=of f2] (k2);     \vertex [above right=of f2] (p2);      \diagram* {       (f1) -- [fermion] (k1),       (f1) -- [photon] (p1),       (f2) -- [fermion] (k2),       (f2) -- [photon] (p2),     };   \end{feynman} \end{tikzpicture} \end{document}   Given that this the accepted answer, it is probably safe to assume that there was a time when this could be compiled. However, when I compile it on my updated TeXLive2018 distribution with lualatex, I get the error message  ! Package pgf Error: Graph drawing library 'circular' not found.   EXTRA INFORMATION: This question was marked as a duplicate (by myself) of . Indeed, if one uses the  to fix it, one may arrive at  \documentclass[tikz, border=10pt]{standalone} \usepackage{luacode} \usepackage{tikz} \usetikzlibrary{graphdrawing}  \begin{luacode*} function pgf_lookup_and_require(name)     local sep = package.config:sub(1,1)     local function lookup(name)         local sub = name:gsub('%.',sep)           if kpse.find_file(sub, 'lua') then             require(name)         elseif kpse.find_file(sub, 'clua') then             collectgarbage('stop')              require(name)             collectgarbage('restart')         else             return false         end         return true     end     return         lookup('pgf.gd.' .. name .. '.library') or         lookup('pgf.gd.' .. name) or         lookup(name .. '.library') or         lookup(name)  end \end{luacode*}  \usepackage[compat=1.1.0]{tikz-feynman}  \begin{document} \begin{tikzpicture}   \begin{feynman}     \diagram [vertical'=a to b, edges={red}] {       i1 -- [fermion] a -- [fermion] f1,       a -- [photon] b,       i2 -- [fermion] b -- [fermion] f2,     };      \vertex [above right=of f1] (k1);     \vertex [below right=of f1] (p1);     \vertex [below right=of f2] (k2);     \vertex [above right=of f2] (p2);      \diagram* {       (f1) -- [fermion] (k1),       (f1) -- [photon] (p1),       (f2) -- [fermion] (k2),       (f2) -- [photon] (p2),     };   \end{feynman} \end{tikzpicture} \end{document}     The good news is that the error is gone. However, the output looks really different from the output of the original answer    in that the photon vertex on the top right has move to the left. When I marked my answer as a duplicate, I did not carefully check that the output is OK. Now I did, and realized that the output produced using Henri's fix produces unexpected results. Therefore, I'd like to reopen the question.
On a fresh install of TL 2018, on Linux, no tikz graph drawing libraries can be found.  The files, e.g. texlive/2018/texmf-dist/tex/generic/pgf/graphdrawing/tex/pgflibrarygraphdrawing.trees.code.tex are there.  \documentclass{scrartcl}   \usepackage{tikz} \usetikzlibrary{graphdrawing} \usegdlibrary{trees}    \begin{document}  Hello World  \end{document}   Compiling with lualatex yields   ! Package pgf Error: Graph drawing library 'trees' not found.
Mathematica9: NDSolve slows down after repeated calls How to prove that the center of the dihedral group $D_{2n}$ is $\{1,r^{n}\}$ and the center of $D_{2n-1}$ is $\{1\}$?  I don't know how to prove it in this general case. From A Classical Introduction to Modern Number Theory by Ireland and Rosen, page 33:     Corollary 1 (Euler's Theorem). If $(a,m) = 1$, then $a^{\phi(m)} \equiv 1\,(m)$.      Proof. The units in $\mathbb{Z}/m\mathbb{Z}$ form a group of order $\phi(m)$. If $(a,m) = 1$, $\bar{a}$ is a unit. Thus $\bar{a}^{\phi(m)} = \bar{1}$ or $a^{\phi(m)} \equiv 1\,(m)$.   If I'm interpreting this correctly, this proof implicitly uses the fact(?) that if $G$ is a group and $x\in G$, then $x^{|G|}=1$, where $1$ is the identity element of $G$.  If this is indeed true, can someone explain why? (I have had no prior exposure to group theory.) Sum of infinite series $\sum_{i=1}^{\infty} \frac 1 {i(i+1)(i+2)...(i+n)}$ Lets define the following series $$S_n =\sum_{i=1}^{\infty} \frac 1 {i(i+1)(i+2)...(i+n)}.$$ I know that $S_0$ does not converge so let's suppose $n \in N$ and define $S_n$ for some $n$. We have $S_1=1$ , $S_2=\frac1 4$ , $S_3=\frac 1 {18}$ , $S_4=\frac 1{96}$ , $S_5=\frac 1{600}$ etc.. the numerator in all results is 1the pattern in denominator is $[1,4,1,96,600...]$ and   that is equal to $n*n!$ Finally I want to prove the general equality: $\sum_{i=1}^{\infty} \frac 1 {i(i+1)(i+2)...(i+n)}=\frac 1 {n*n!}$ Changing geometry types from kml points Z to just points in QGIS How do I change geometry types from pointZ to point in QGIS from a kmz file? How to automatically hyphenate within \texttt? This question was phrased as a bug report for LaTeX and I thought it would be helpful to be presented here (including an answer).  The person had a lot of "common words" in typewriter font sprinkled around his text and he was surprised that this text would not automatically hyphenate and he had to manually insert \- to mark hypenation points. Finding the closest Geometry in PostGIS How are questions in the 'hot' tab on a site selected? I know questions on the "hot" tab of a site homepage are based on some sort of views/velocity criteria, but does anyone know the actual algorithm used?  Background: I was considering a feature-request about the "hot" tab, but I don't have enough information to speak about it intelligently. How to reduce vertical space in matrix? I want to reduce the size of the vertical space in matrix environment and have a result something like this     But at present I manage something like below     with the following code    $\begin{bmatrix}     00 &amp; 08 &amp; 10 &amp; 18 &amp; 20 &amp; 28 &amp; 30 &amp; 38 \\     01 &amp; 09 &amp; 11 &amp; 19 &amp; 21 &amp; 29 &amp; 31 &amp; 39 \\     02 &amp; 0a &amp; 12 &amp; 1a &amp; 22 &amp; 2a &amp; 32 &amp; 3a \\     03 &amp; 0b &amp; 13 &amp; 1b &amp; 23 &amp; 2b &amp; 33 &amp; 3b \\     04 &amp; 0c &amp; 14 &amp; 1c &amp; 24 &amp; 2c &amp; 34 &amp; 3c \\     05 &amp; 0d &amp; 15 &amp; 1d &amp; 25 &amp; 2d &amp; 35 &amp; 3d \\     06 &amp; 0e &amp; 16 &amp; 1e &amp; 26 &amp; 2e &amp; 36 &amp; 3e \\     07 &amp; 0f &amp; 17 &amp; 1f &amp; 27 &amp; 2f &amp; 37 &amp; 3f   \end{bmatrix}$   I can change the font using \mathsf{}, but other than that, how I reduce the vertical space between the rows? I did find things like  to increase vertical space between rows in matrix, but not something that can decrease the space. Xubuntu 18.04 Persistent Live USB: Will persistence be carried upon full installation to a machine? I've created an Xubuntu 18.04 persistent live USB stick and installed several softwares for web development, such as XAMPP, Sublime Text 3, Google Chrome, etc.. I did some configurations as well in the ~/.bashrc file.  I am wondering if these installation and configuration in my persistent live USB stick be carried over in a full installation in to a new machine using it. How to set page geometry for a single page only? When is "self" required? I have been using classes for only a short while and when I write a method, I make all variables reference self, e.g. self.foo.  However, I'm looking through the wxPython in Action book and notice that "self" isn't used all the time. For example:   import wx  class TextFrame(wx.Frame):     def __init__(self):         wx.Frame.__init__(self, None, -1, 'Text Entry Example',             size=(300, 100))         panel = wx.Panel(self, -1)         basicLabel = wx.StaticText(panel, -1, "Basic Control:")         basicText = wx.TextCtrl(panel, -1, "I've entered some text!",             size=(175, -1))         basicText.SetInsertionPoint(0)         pwdLabel = wx.StaticText(panel, -1, "Password:")         pwdText = wx.TextCtrl(panel, -1, "password", size=(175, -1),             style=wx.TE_PASSWORD)         sizer = wx.FlexGridSizer(cols=2, hgap=6, vgap=6)         sizer.AddMany([basicLabel, basicText, pwdLabel, pwdText])         panel.SetSizer(sizer)   The one below does use "self".  import wx class ButtonFrame(wx.Frame):     def __init__(self):         wx.Frame.__init__(self, None, -1, 'Button Example',             size=(300, 100))         panel = wx.Panel(self, -1)         self.button = wx.Button(panel, -1, "Hello", pos=(50, 20))         self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)         self.button.SetDefault()     def OnClick(self, event):         self.button.SetLabel("Clicked")   If I remember correctly, "self" is reference to a particular instance of the class, so when is it not necessary? Is there a general rule of thumb? Can you recommend a Java library for reading (and possibly writing) CSV files? I am trying to help my daughter on her math homework and I am having some trouble on some equation solving steps. My current major concern relies on understanding why $\sqrt{8}/2$ equal to $\sqrt{2}$.  Thanks in advance Space of bounded continuous functions is complete Is it safe to delete from C:\Windows\Installer? I've been looking on an XP machine what is using all that diskspace, and it turns out C:\Windows\Installer is high up there on the list of directories that use the most diskspace.  It seems to contain a cache of msi and msp files.  Is it safe to delete those? To save diskspace, I've been deleting the "$KB...$" directories for ages without any problems. I want my Windows Updates in my system, why you would want to uninstall them is something that I have never understood. (Except when you're on an update revision board professionally or something of that order.) This is something that always annoys me when putting an A4 letter in a oblong envelope: one has to estimate where to put the creases when folding the letter. I normally start from the bottom and on eye estimate where to fold. Then I turn the letter over and fold bottom to top. Most of the time ending up with three different areas. There must be a way to do this exactly, without using any tools (ruler, etc.). Show that $3p^2=q^2$ implies $3|p$ and $3|q$ Recovering accidentally deleted files addSMA not drawn on graph when called from function