<div dir="ltr">Hi Karl and Community,<div><br><div>Thank you all for the comments. I finally got this hacked on <b>macOS</b> and now everything seems to work fine. </div><div><br></div><div>Steps to build libsynctex.a:</div><div>1. Fetch the latest synctex source from <a href="https://github.com/jlaurens/synctex">https://github.com/jlaurens/synctex</a></div><div>2. Build.</div><div>    Method 1: The README tells how to build the client tool "synctex" with a Xcode CLI project, we can easily adapt to a Xcode Library project for libsynctex.a.</div><div>    Method 2: I wrote a <a href="https://drive.google.com/file/d/1Sl_k56tijGDRRuPb1Epnhs49haBFCcPC/view?usp=sharing">Makefile</a> from scratch, just make it.</div><div>    Note: a. <span style="background-color:rgba(27,31,35,0.05);color:rgb(36,41,46);font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:13.6px">-DSYNCTEX_WORK</span> mentioned in README should be -D__SYNCTEX_WORK__</div><div>              b. make sure you have zlib</div><div>              c. In synctex_parser.c, change "/usr/include/zlib.h" to "<zlib.h>"</div><div>                  #     ifdef   __SYNCTEX_WORK__</div>                  //#              include "/usr/include/zlib.h"<br>                  #           include <zlib.h></div><div><br></div><div><br></div><div>And here are the steps to hack Zathura build script to link libsynctex.a</div><div>1. Follow the instructions of <a href="https://pwmt.org/projects/zathura/installation/">https://pwmt.org/projects/zathura/installation/</a> to build zathura and the dependencies.</div><div>    Note: No synctex support by now. Check the zathura binary file,</div><div>             nm zathura | grep synctex | wc -l<br>             11</div><div>2. Put the synctex source folder in Zathura's source folder, e.g. zathura-0.4.5/zathura/synctex.</div><div>3. Hack meson.build, to add synctex support.</div><div>    Insert the following two lines before "if synctex.found()"</div><div><b>    build_dependencies += synctex</b></div><b>    defines += '-DWITH_SYNCTEX'</b><br>    if synctex.found()<div>4. Remove and recreate "build" folder and redo "meson build"<div>5. Hack build/build.ninja, to link libsynctex.a.</div><div>    Edit L240, LINK_ARGS of the zathura target, add -L<path of zathura-0.4.5>/zathura/synctex -lsynctex:<br>    e.g. LINK_ARGS = -Wl,-dead_strip_dylibs -Wl,-undefined,error -Wl,-headerpad_max_install_names libzathura.a <b>-L<path of zathura-0.4.5>/zathura/synctex -lsynctex</b> ...</div><div>6. ninja & ninja install</div><div>    Now, zathura should contain synctex functions. Check again, <br>    nm zathura | grep synctex | wc -l</div><div>    523 </div><div><br></div><div><div>Done.</div><div><br></div><div><div><br></div><div>TL;DR My original goal is to use Vim + vimtex plugin + a document viewer with synctex support (<a href="https://github.com/lervag/vimtex" target="_blank">https://github.com/lervag/vimtex</a>), so I can get instant view updates of the PDF alongside while I'm editing a tex script. Skim (a PDF viewer on macOS) is great, fast and works out of box. However, it is built around Apple's PDFKit which doesn't support recolor of the page background. What I want is to change the viewer's bg color from white to some dark color, especially the same as my Vim's(<a href="https://drive.google.com/file/d/1jWnNhRtA_6ajkRb9lA_cVcIVX0vLQAAE/view?usp=sharing">like this</a>). Zathura can make this happen, except that no pre-built package for macOS and its source doesn't ship with synctex. That's why I need those aforementioned hacks.<br></div></div><div><br></div><div>-David Ren</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Karl Berry <<a href="mailto:karl@freefriends.org" target="_blank">karl@freefriends.org</a>> 于2020年5月18日周一 上午5:37写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">    Subject: Is there a libsynctex package shipped as a part of MacTex?<br>
<br>
No, sorry. We don't ship any libraries as such in TeX Live or<br>
MacTeX. They are all compiled into the binaries. Distributing libraries<br>
that could be linked with would be a quantum leap in difficulty of<br>
distribution, and we're already pressed enough.<br>
<br>
Does any pure viewer make use of synctex? I don't know. TeXShop does,<br>
but it is an editor, so the "source line" concept makes more sense<br>
there.<br>
<br>
At any rate, about all that comes to mind is to extract the sources from<br>
the TL tree and work with them in your own tree. Fortunately, they<br>
hardly ever change nowadays, so you're not committing to a lot of<br>
ongoing maintenance.  Unless the cmdline tool is enough, which I've<br>
never used myself, but it seems unlikely :(. --happy hacking, karl.<br>
</blockquote></div></div></div></div>