Home
avatar

静静

Jupyterlab 配置 Latex 环境

参考利用JupyterLab的扩展实现LaTex文件的编译

docker exec -it jupytercgmsabefcn bash
apt install texlive-full
pip install jupyterlab_latex
jupyter serverextension enable --sys-prefix jupyterlab_latex
jupyter labextension install @jupyterlab/latex

在jupyter_notebook_config.py文件里添加一句话实现PdfLaTex模式编译:

c.LatexConfig.latex_command = 'pdflatex' 

自定义LaTex的编译模式,默认是XeLaTex模式。效果如图,不过只能编译简单的一些包,还有字体缺失的问题存在。

https://newblogimg.oss-cn-beijing.aliyuncs.com/2020/02/29/98e39066a042e.png

完整 jupyter 镜像已上传至阿里云,拉取命令如下:

docker pull registry.cn-shanghai.aliyuncs.com/bugatii100peagle/jupytercgmsabefcnlatex:v1.1

full 包是默认安装中文 cjk 包的,如下:

After this operation, 3,546 MB of additional disk space will be used.

 The following additional packages will be installed:
  aglfn asymptote asymptote-doc biber blt chktex cm-super cm-super-minimal context context-modules dvidvi dvipng feynmf
  fonts-adf-accanthis fonts-adf-berenis fonts-adf-gillius fonts-adf-universalis fonts-arphic-bkai00mp fonts-arphic-bsmi00lp
  fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-baekmuk fonts-cabin fonts-comfortaa fonts-croscore
  fonts-crosextra-caladea fonts-crosextra-carlito fonts-ebgaramond fonts-ebgaramond-extra fonts-font-awesome
  fonts-freefont-otf fonts-freefont-ttf fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-bodoni-classic
  fonts-gfs-complutum fonts-gfs-didot fonts-gfs-didot-classic fonts-gfs-gazis fonts-gfs-neohellenic fonts-gfs-olga
  fonts-gfs-porson fonts-gfs-solomos fonts-gfs-theokritos fonts-go fonts-hosny-amiri fonts-ipaexfont-gothic
  fonts-ipaexfont-mincho fonts-ipafont-gothic fonts-ipafont-mincho fonts-junicode fonts-lato fonts-linuxlibertine
  fonts-lobster fonts-lobstertwo fonts-noto-hinted fonts-noto-mono fonts-oflb-asana-math fonts-open-sans fonts-roboto-hinted
  fonts-sil-gentium fonts-sil-gentium-basic fonts-sil-gentiumplus fonts-sil-gentiumplus-compact fonts-sil-padauk fonts-stix
  fonts-texgyre fonts-unfonts-core fonts-unfonts-extra fragmaster freeglut3 ghostscript gsfonts imagemagick imagemagick-6.q16
  info javascript-common lacheck latex-cjk-all latex-cjk-chinese latex-cjk-chinese-arphic-bkai00mp
  latex-cjk-chinese-arphic-bsmi00lp latex-cjk-chinese-arphic-gbsn00lp latex-cjk-chinese-arphic-gkai00mp latex-cjk-common
  latex-cjk-japanese latex-cjk-japanese-wadalab latex-cjk-korean latex-cjk-thai latexdiff latexmk lcdf-typetools
  libalgorithm-c3-perl libauthen-sasl-perl libautovivification-perl libb-hooks-endofscope-perl libb-hooks-op-check-perl
  libbtparse1 libbusiness-isbn-data-perl libbusiness-isbn-perl libbusiness-ismn-perl libbusiness-issn-perl
  libclass-accessor-perl libclass-c3-perl libclass-c3-xs-perl libclass-data-inheritable-perl libclass-factory-util-perl
  libclass-inspector-perl libclass-method-modifiers-perl libclass-singleton-perl libdata-compare-perl libdata-dump-perl
  libdata-optlist-perl libdata-uniqid-perl libdate-simple-perl libdatetime-calendar-julian-perl
  libdatetime-format-builder-perl libdatetime-format-strptime-perl libdatetime-locale-perl libdatetime-perl
  libdatetime-timezone-perl libdevel-callchecker-perl libdevel-caller-perl libdevel-globaldestruction-perl
  libdevel-lexalias-perl libdevel-stacktrace-perl libdist-checkconflicts-perl libdjvulibre-text libdjvulibre21
  libdouble-conversion1 libdynaloader-functions-perl libegl-mesa0 libegl1 libemail-date-format-perl libemf1
  libencode-eucjpms-perl libencode-hanextra-perl libencode-jis2k-perl libencode-locale-perl libeval-closure-perl libevdev2
  libexception-class-perl libexporter-tiny-perl libfile-find-rule-perl libfile-homedir-perl libfile-listing-perl
  libfile-sharedir-perl libfile-slurper-perl libfile-which-perl libfont-afm-perl libfontenc1 libgbm1 libgirara-gtk3-3
  libglapi-mesa libglu1-mesa libglx-mesa0 libgs9 libgs9-common libgudev-1.0-0 libhtml-form-perl libhtml-format-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl
  libhttp-message-perl libhttp-negotiate-perl libilmbase12 libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl
  libipc-run3-perl libipc-shareable-perl libjs-jquery libjson-c3 liblingua-translit-perl liblist-allutils-perl
  liblist-moreutils-perl liblist-someutils-perl liblist-utilsby-perl libllvm9 liblog-dispatch-perl liblog-log4perl-perl
  liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1 libmagickcore-6.q16-3-extra libmail-sendmail-perl
  libmailtools-perl libmime-charset-perl libmime-lite-perl libmime-types-perl libmodule-implementation-perl
  libmodule-runtime-perl libmro-compat-perl libmtdev1 libnamespace-autoclean-perl libnamespace-clean-perl libnet-http-perl
  libnet-libidn-perl libnet-smtp-ssl-perl libnet-ssleay-perl libnetpbm10 libnotify4 libnumber-compare-perl libopenexr22
  libosmesa6 libosp5 libostyle1c2 libpackage-deprecationmanager-perl libpackage-stash-perl libpackage-stash-xs-perl
  libpadwalker-perl libparams-classify-perl libparams-util-perl libparams-validate-perl libparams-validationcompiler-perl
  libperlio-utf8-strict-perl libplot2c2 libpoppler-qt5-1 libpstoedit0c2a libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5
  libqt5svg5 libqt5widgets5 libqt5xml5 libreadonly-perl libref-util-perl libref-util-xs-perl libregexp-common-perl
  librole-tiny-perl libruby2.5 libscalar-list-utils-perl libsigsegv2 libsombok3 libsort-key-perl libspecio-perl
  libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl libsub-name-perl
  libsub-quote-perl libsys-hostname-long-perl libtcl8.6 libtext-bibtex-perl libtext-csv-perl libtext-csv-xs-perl
  libtext-glob-perl libtext-roman-perl libtext-unidecode-perl libtie-cycle-perl libtimedate-perl libtk8.6 libtry-tiny-perl
  libunicode-collate-perl libunicode-linebreak-perl liburi-perl libutempter0 libvariable-magic-perl libwacom-bin
  libwacom-common libwacom2 libwayland-server0 libwebpdemux2 libwmf0.2-7 libwww-perl libwww-robotrules-perl libxcb-icccm4
  libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xkb1
  libxkbcommon-x11-0 libxml-libxml-perl libxml-libxml-simple-perl libxml-libxslt-perl libxml-namespacesupport-perl
  libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-writer-perl libxmuu1 libxtst6
  libxxf86dga1 libyaml-tiny-perl libzip4 netbase netpbm notification-daemon openjade perl-openssl-defaults pfb2t1c2pfb prerex
  ps2eps pstoedit psutils purifyeps python3-olefile python3-pil python3-pil.imagetk python3-tk qt5-gtk-platformtheme
  qttranslations5-l10n rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby2.5
  rubygems-integration sgml-base tex-gyre texinfo texlive-bibtex-extra texlive-extra-utils texlive-font-utils
  texlive-fonts-extra-doc texlive-fonts-extra-links texlive-fonts-recommended-doc texlive-formats-extra texlive-games
  texlive-humanities texlive-humanities-doc texlive-lang-arabic texlive-lang-chinese texlive-lang-cjk texlive-lang-cyrillic
  texlive-lang-czechslovak texlive-lang-english texlive-lang-european texlive-lang-french texlive-lang-german
  texlive-lang-greek texlive-lang-italian texlive-lang-japanese texlive-lang-korean texlive-lang-other texlive-lang-polish
  texlive-lang-portuguese texlive-lang-spanish texlive-latex-base-doc texlive-latex-extra-doc texlive-latex-recommended-doc
  texlive-luatex texlive-metapost texlive-metapost-doc texlive-music texlive-pictures-doc texlive-pstricks
  texlive-pstricks-doc texlive-publishers texlive-publishers-doc texlive-science texlive-science-doc tk8.6-blt2.5 vprerex
  x11-utils xbitmaps xterm zathura zathura-pdf-poppler zip
Suggested packages:
  gv blt-demo perl-tk fontforge context-nonfree context-doc-nonfree ghostscript-x imagemagick-doc autotrace cups-bsd | lpr
  | lprng curl enscript gimp gnuplot graphviz groff-base hp2xx html2ps libwmf-bin mplayer povray radiance sane-utils transfig
  ufraw-batch texinfo-doc-nonfree apache2 | lighttpd | httpd auctex hbf-cns40-b5 hbf-jfs56 hbf-kanji48 libdigest-hmac-perl
  libgssapi-perl libgd-barcode-perl libscalar-properties-perl libdbd-csv-perl liblog-dispatch-filerotate-perl librrds-perl
  libxml-dom-perl libcrypt-ssleay-perl file libjxr-tools libpod2-base-perl default-mta | mail-transport-agent
  libmojolicious-perl libscalar-number-perl qt5-image-formats-plugins qtwayland5 libtest-fatal-perl tcl8.6 tk8.6
  libwmf0.2-7-gtk libauthen-ntlm-perl doc-base sgml-data xfig | ivtools-bin | tgif | transfig python-pil-doc python3-pil-dbg
  python3-pil.imagetk-dbg tix python3-tk-dbg ri ruby-dev bundler sgml-base-doc xindy mesa-utils xfonts-cyrillic www-browser
  zathura-ps zathura-djvu zathura-cb
Recommended packages:
  fonts-freefont fonts-droid-fallback
The following NEW packages will be installed:
  aglfn asymptote asymptote-doc biber blt chktex cm-super cm-super-minimal context context-modules dvidvi dvipng feynmf
  fonts-adf-accanthis fonts-adf-berenis fonts-adf-gillius fonts-adf-universalis fonts-arphic-bkai00mp fonts-arphic-bsmi00lp
  fonts-arphic-gbsn00lp fonts-arphic-gkai00mp fonts-baekmuk fonts-cabin fonts-comfortaa fonts-croscore
  fonts-crosextra-caladea fonts-crosextra-carlito fonts-ebgaramond fonts-ebgaramond-extra fonts-font-awesome
  fonts-freefont-otf fonts-freefont-ttf fonts-gfs-artemisia fonts-gfs-baskerville fonts-gfs-bodoni-classic
  fonts-gfs-complutum fonts-gfs-didot fonts-gfs-didot-classic fonts-gfs-gazis fonts-gfs-neohellenic fonts-gfs-olga
  fonts-gfs-porson fonts-gfs-solomos fonts-gfs-theokritos fonts-go fonts-hosny-amiri fonts-ipaexfont-gothic
  fonts-ipaexfont-mincho fonts-ipafont-gothic fonts-ipafont-mincho fonts-junicode fonts-lato fonts-linuxlibertine
  fonts-lobster fonts-lobstertwo fonts-noto-hinted fonts-noto-mono fonts-oflb-asana-math fonts-open-sans fonts-roboto-hinted
  fonts-sil-gentium fonts-sil-gentium-basic fonts-sil-gentiumplus fonts-sil-gentiumplus-compact fonts-sil-padauk fonts-stix
  fonts-texgyre fonts-unfonts-core fonts-unfonts-extra fragmaster freeglut3 ghostscript gsfonts imagemagick imagemagick-6.q16
  info javascript-common lacheck latex-cjk-all latex-cjk-chinese latex-cjk-chinese-arphic-bkai00mp
  latex-cjk-chinese-arphic-bsmi00lp latex-cjk-chinese-arphic-gbsn00lp latex-cjk-chinese-arphic-gkai00mp latex-cjk-common
  latex-cjk-japanese latex-cjk-japanese-wadalab latex-cjk-korean latex-cjk-thai latexdiff latexmk lcdf-typetools
  libalgorithm-c3-perl libauthen-sasl-perl libautovivification-perl libb-hooks-endofscope-perl libb-hooks-op-check-perl
  libbtparse1 libbusiness-isbn-data-perl libbusiness-isbn-perl libbusiness-ismn-perl libbusiness-issn-perl
  libclass-accessor-perl libclass-c3-perl libclass-c3-xs-perl libclass-data-inheritable-perl libclass-factory-util-perl
  libclass-inspector-perl libclass-method-modifiers-perl libclass-singleton-perl libdata-compare-perl libdata-dump-perl
  libdata-optlist-perl libdata-uniqid-perl libdate-simple-perl libdatetime-calendar-julian-perl
  libdatetime-format-builder-perl libdatetime-format-strptime-perl libdatetime-locale-perl libdatetime-perl
  libdatetime-timezone-perl libdevel-callchecker-perl libdevel-caller-perl libdevel-globaldestruction-perl
  libdevel-lexalias-perl libdevel-stacktrace-perl libdist-checkconflicts-perl libdjvulibre-text libdjvulibre21
  libdouble-conversion1 libdynaloader-functions-perl libegl-mesa0 libegl1 libemail-date-format-perl libemf1
  libencode-eucjpms-perl libencode-hanextra-perl libencode-jis2k-perl libencode-locale-perl libeval-closure-perl libevdev2
  libexception-class-perl libexporter-tiny-perl libfile-find-rule-perl libfile-homedir-perl libfile-listing-perl
  libfile-sharedir-perl libfile-slurper-perl libfile-which-perl libfont-afm-perl libfontenc1 libgbm1 libgirara-gtk3-3
  libglu1-mesa libgudev-1.0-0 libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl
  libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libilmbase12
  libinput-bin libinput10 libio-html-perl libio-socket-ssl-perl libipc-run3-perl libipc-shareable-perl libjs-jquery
  libjson-c3 liblingua-translit-perl liblist-allutils-perl liblist-moreutils-perl liblist-someutils-perl liblist-utilsby-perl
  libllvm9 liblog-dispatch-perl liblog-log4perl-perl liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1
  libmagickcore-6.q16-3-extra libmail-sendmail-perl libmailtools-perl libmime-charset-perl libmime-lite-perl
  libmime-types-perl libmodule-implementation-perl libmodule-runtime-perl libmro-compat-perl libmtdev1
  libnamespace-autoclean-perl libnamespace-clean-perl libnet-http-perl libnet-libidn-perl libnet-smtp-ssl-perl
  libnet-ssleay-perl libnetpbm10 libnotify4 libnumber-compare-perl libopenexr22 libosmesa6 libosp5 libostyle1c2
  libpackage-deprecationmanager-perl libpackage-stash-perl libpackage-stash-xs-perl libpadwalker-perl libparams-classify-perl
  libparams-util-perl libparams-validate-perl libparams-validationcompiler-perl libperlio-utf8-strict-perl libplot2c2
  libpoppler-qt5-1 libpstoedit0c2a libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5widgets5 libqt5xml5
  libreadonly-perl libref-util-perl libref-util-xs-perl libregexp-common-perl librole-tiny-perl libruby2.5
  libscalar-list-utils-perl libsigsegv2 libsombok3 libsort-key-perl libspecio-perl libsub-exporter-perl
  libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl libsub-name-perl libsub-quote-perl
  libsys-hostname-long-perl libtcl8.6 libtext-bibtex-perl libtext-csv-perl libtext-csv-xs-perl libtext-glob-perl
  libtext-roman-perl libtext-unidecode-perl libtie-cycle-perl libtimedate-perl libtk8.6 libtry-tiny-perl
  libunicode-collate-perl libunicode-linebreak-perl liburi-perl libutempter0 libvariable-magic-perl libwacom-bin
  libwacom-common libwacom2 libwayland-server0 libwebpdemux2 libwmf0.2-7 libwww-perl libwww-robotrules-perl libxcb-icccm4
  libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-util1 libxcb-xinerama0 libxcb-xkb1
  libxkbcommon-x11-0 libxml-libxml-perl libxml-libxml-simple-perl libxml-libxslt-perl libxml-namespacesupport-perl
  libxml-parser-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-writer-perl libxmuu1 libxtst6
  libxxf86dga1 libyaml-tiny-perl libzip4 netbase netpbm notification-daemon openjade perl-openssl-defaults pfb2t1c2pfb prerex
  ps2eps pstoedit psutils purifyeps python3-olefile python3-pil python3-pil.imagetk python3-tk qt5-gtk-platformtheme
  qttranslations5-l10n rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby2.5
  rubygems-integration sgml-base tex-gyre texinfo texlive-bibtex-extra texlive-extra-utils texlive-font-utils
  texlive-fonts-extra-doc texlive-fonts-extra-links texlive-fonts-recommended-doc texlive-formats-extra texlive-full
  texlive-games texlive-humanities texlive-humanities-doc texlive-lang-arabic texlive-lang-chinese texlive-lang-cjk
  texlive-lang-cyrillic texlive-lang-czechslovak texlive-lang-english texlive-lang-european texlive-lang-french
  texlive-lang-german texlive-lang-greek texlive-lang-italian texlive-lang-japanese texlive-lang-korean texlive-lang-other
  texlive-lang-polish texlive-lang-portuguese texlive-lang-spanish texlive-latex-base-doc texlive-latex-extra-doc
  texlive-latex-recommended-doc texlive-luatex texlive-metapost texlive-metapost-doc texlive-music texlive-pictures-doc
  texlive-pstricks texlive-pstricks-doc texlive-publishers texlive-publishers-doc texlive-science texlive-science-doc
  tk8.6-blt2.5 vprerex x11-utils xbitmaps xterm zathura zathura-pdf-poppler zip
JupyterLab Python Latex