1

I am using the last version of MiKTeX. After the last update I realize that the TikZ library hobby is no longer working. As proposed by the answer of this question, I downloaded it again from here but when I compile the file tex hobby.dtx I got the error:

======================================================================

  ! LaTeX Error: File `l3doc.cls' not found.

 Type X to quit or <RETURN> to proceed,
 or enter new name. (Default extension: cls)

 Enter file name: 

I update again MiKTeX but I still have the same error. And when I compile a Latex file which contains the hobby library I get the error

!...............................................
l.185 ...riant:Nn \__msg_show_variable:Nnn { Nno }
|'''''''''''''''''''''''''''''''''''''''''''''''
| This is a coding error.
|
| LaTeX has been asked to use a control sequence '\__msg_show_variable:Nnn':
| this has not been defined yet.
|...............................................
 )
.................................................

This is the example that I compiled:

 \documentclass{standalone}
  \usepackage{tikz}
   \usetikzlibrary{hobby,decorations.markings}
 \begin{document}
    \begin{tikzpicture}[use Hobby shortcut]
     % middle crossing loop
      % \draw (3,-1) .. (2,0) .. (0,0.93) .. (-0.93,0) .. (0,-0.93) .. (2,0) .. (3,1);
  \begin{scope}
    \clip (3,-1) rectangle (2,1);
    \draw[thick, blue, fill=blue!30] (3,-1) .. (2,0) .. (0,0.93) .. (-0.93,0) .. (0,-0.93) .. (2,0) .. (3,1);
  \end{scope}
  \begin{scope}
    \clip (2,1) rectangle (-1,-1);
   \draw[thick, red, fill=red!30] (3,-1) .. (2,0) .. (0,0.93) .. (-0.93,0) .. (0,-0.93) .. (2,0) .. (3,1);
  \end{scope}
   % filled points
  \fill (0,0) circle (1pt);
  \fill (2,0) circle (1pt);
  \end{tikzpicture}
 \end{document}
Mohamed Vall
  • 1,166
  • You should use tex to unpack, not latexor pdflatex. l3doc.cls is part of l3kernel, if you don't have it, your system is not up-to-date. See http://tex.stackexchange.com/a/108490/2388 to learn how to maintain miktex. But the update won't help you: hobby has now the next problem. It uses a deprecated command. You can try \ExplSyntaxOn \cs_set_eq:NN\prop_get:Nn\prop_item:Nn \ExplSyntaxOff but it is quite possible that the code contains more outdated commands. – Ulrike Fischer Feb 17 '16 at 09:06
  • 1
    I can confirm similar problems. After installing github hobby version and with last MikTeX update, this example fails, but also other previously correct examples like http://tex.stackexchange.com/a/240121/1952 also show error messages. – Ignasi Feb 17 '16 at 09:07
  • @UlrikeFischer, I have the l3kernel package and l3doc.cls inside it. I added \ExplSyntaxOn \cs_set_eq:NN\prop_get:Nn\prop_item:Nn \ExplSyntaxOff but it does not fix the problem. – Mohamed Vall Feb 17 '16 at 09:33
  • Your example worked for me after the changes on a current miktex. Are you sure that you unpacked the new hobby library and use it? Show the log-file. – Ulrike Fischer Feb 17 '16 at 09:38
  • @UlrikeFischer, Could you please explain to me what I have to do ? – Mohamed Vall Feb 17 '16 at 09:50
  • 1
    Compile hobby.dtx with tex, this unpacks the library files. Move them to a place where your document can find them (e.g. the current folder). – Ulrike Fischer Feb 17 '16 at 11:42
  • @UlrikeFischer, Thanks, This solve my problem but not the code of Ignasi !. – Mohamed Vall Feb 17 '16 at 12:33
  • @UlrikeFischer, It works fine after adding to its preamble \ExplSyntaxOn \cs_set_eq:NN\prop_get:Nn\prop_item:Nn \ExplSyntaxOff. – Mohamed Vall Feb 17 '16 at 13:39
  • @Ignasi, do it works fine for you too ? – Mohamed Vall Feb 17 '16 at 17:54
  • @LlavDem Yes, it works also for me. – Ignasi Feb 17 '16 at 19:56

0 Answers0