Overleaf Community Edition

https://overleaf.com/ オンラインLaTeXエディタのShareLaTeXとOverleafは、Overleaf v2として2017年に統合され、OverleafはShareLaTeXのエディタを使うようになった。 https://www.sharelatex.com/ https://ja.overleaf.com/blog/sharelatex-joins-overleaf-2017-07-20 Overleaf(ShareLaTeX)は、overleaf.comで提供されているクラウド版と、セルフホスト可能なオープンソース版(Community Edition)が公開されている。 https://github.com/overleaf/overleaf この記事では、Overleaf Community Editionの公式Dockerイメージ(イメージ名はsharelatex/sharelatex)を使って、セルフホストする。 https://hub.docker.com/r/sharelatex/sharelatex/ クラウド版とCommunity Editionの機能の違いは、以下を参照。 https://www.overleaf.com/for/enterprises/features 使用できない機能 Git管理 Git管理やGitHub連携については、Community Editionには実装されていない(クラウド版のみ)。クラウド版のGit管理はクローズドソースなファイル履歴APIを利用して実装されており、これが技術的な課題になっているらしい。 https://github.com/overleaf/overleaf/issues/782 https://github.com/overleaf/overleaf/issues/10 Overleafに管理させないでよいのなら、ファイルは/var/lib/sharelatex/data/compiles/{project_id}-{user_id}に保存されるので、ここを監視して自動コミットするようなプログラムを使ってもいいかもしれない。 # 後者のIDがユーザIDであることの確認 docker-compose exec mongo mongo sharelatex --eval "db.users.find()" テンプレート クラウド版・Pro版限定機能。 https://github.com/overleaf/web/issues/203 https://github.com/overleaf/overleaf/issues/109 https://github.com/overleaf/overleaf/wiki/Server-Pro:-Setting-up-templates docker-compose.yml https://github.com/overleaf/overleaf/blob/a752bbefdd7ef3316aaf0c34302f08e6024aaadb/docker-compose.yml https://github.com/overleaf/overleaf/wiki/Configuring-Overleaf version: '3.9' services: sharelatex: image: sharelatex/sharelatex:3 restart: always depends_on: mongo: condition: service_healthy redis: condition: service_started ports: - "${SERVER_PORT}:80" volumes: - "${DATA_ROOT}:/var/lib/sharelatex" - "${TEXLIVE_ROOT}:/usr/local/texlive" environment: # https://github.com/overleaf/overleaf/wiki/Configuring-Overleaf SHARELATEX_APP_NAME: Overleaf Community Edition SHARELATEX_MONGO_URL: mongodb://mongo/sharelatex SHARELATEX_REDIS_HOST: redis REDIS_HOST: redis ENABLED_LINKED_FILE_TYPES: 'project_file,project_output_file' # Enables Thumbnail generation using ImageMagick ENABLE_CONVERSIONS: 'true' # Disables email confirmation requirement EMAIL_CONFIRMATION_DISABLED: 'true' # temporary fix for LuaLaTex compiles # see https://github.com/overleaf/overleaf/issues/695 TEXMFVAR: /var/lib/sharelatex/tmp/texmf-var # SHARELATEX_SITE_URL: http://sharelatex.mydomain.com # SHARELATEX_NAV_TITLE: Our ShareLaTeX Instance # SHARELATEX_HEADER_IMAGE_URL: http://somewhere.com/mylogo.png # SHARELATEX_ADMIN_EMAIL: [email protected] # SHARELATEX_LEFT_FOOTER: '[{"text": "Powered by <a href=\"https://www.sharelatex.com\">ShareLaTeX</a> 2016"},{"text": "Another page I want to link to can be found <a href=\"here\">here</a>"} ]' # SHARELATEX_RIGHT_FOOTER: '[{"text": "Hello I am on the Right"} ]' # SHARELATEX_EMAIL_FROM_ADDRESS: "[email protected]" # SHARELATEX_EMAIL_AWS_SES_ACCESS_KEY_ID: # SHARELATEX_EMAIL_AWS_SES_SECRET_KEY: # SHARELATEX_EMAIL_SMTP_HOST: smtp.mydomain.com # SHARELATEX_EMAIL_SMTP_PORT: 587 # SHARELATEX_EMAIL_SMTP_SECURE: false # SHARELATEX_EMAIL_SMTP_USER: # SHARELATEX_EMAIL_SMTP_PASS: # SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: true # SHARELATEX_EMAIL_SMTP_IGNORE_TLS: false # SHARELATEX_EMAIL_SMTP_NAME: '127.0.0.1' # SHARELATEX_EMAIL_SMTP_LOGGER: true # SHARELATEX_CUSTOM_EMAIL_FOOTER: "This system is run by department x" mongo: image: mongo:4.0 restart: always volumes: - "${MONGO_ROOT}:/data/db" healthcheck: test: echo 'db.stats().ok' | mongo localhost:27017/test --quiet interval: 10s timeout: 10s retries: 5 redis: image: redis:5 restart: always volumes: - "${REDIS_ROOT}:/data" .env SERVER_PORT=127.0.0.1:8000 DATA_ROOT=./data/sharelatex TEXLIVE_ROOT=./data/texlive MONGO_ROOT=./data/mongo REDIS_ROOT=./data/redis 設定 https://github.com/overleaf/overleaf/wiki/Quick-Start-Guide TeXLiveのフルインストール TeXLiveのフルバージョンは巨大なため、Dockerイメージには最小構成のみが含まれている。 フルバージョンを使うには、インストールコマンドを実行する必要がある。 ...

2021年11月5日 · aoirint

Imagemagickで画像のDPIを変更する

画像のDPI(dot per inch)がばらばらの場合、 TeXで画像を取り込んだときのサイズがばらばらになるため統一する。 以下はIN.pngをDPI 72にしてOUT.pngに出力するコマンド。 convert -density 72 -units PixelsPerInch IN.png OUT.png もともとのDPIを調べるコマンド。 identify -format '%x,%y\n' IN.png

2020年11月9日 · aoirint

Atom + LaTeX in Docker

概要 LaTeXをホストにインストールせず、Docker内で動かしつつ、 Atomからこれを利用できるようにする。 Requirements Ubuntu 18.04 Docker Atom Atom Packages latex Atom Packages latexを入れれば最低限ビルドコマンドは叩けるようになる。 latex シンタックスハイライト language-latex アウトライン表示 document-outline PDFプレビュー pdf-view(メモリリーク? Atomを一度閉じれば解消する) または pdf-view-plus(メモリリーク対策版らしい。latexとの連携はないので注意) Dockerイメージ paperist/alpine-texlive-jaを使う。 sudo docker pull paperist/alpine-texlive-ja Docker sudoなしでDockerを実行できるようにする。AtomからDockerコンテナを作るのに必要。 注意として、この方法で一般ユーザがDockerを使えるようにすると特権昇格できてしまうため、 共有サーバにおいてはDocker 20.10以降のDocker rootlessを設定する。 https://docs.docker.com/engine/security/rootless/ ユーザをdockerグループに追加したあと再ログインする。新しくdockerグループが作られた直後はnewgrp dockerしなければならないことがあり、シェルごとにこれを実行する必要があるようなのでAtomに反映されず、この場合OSの再起動が必要。 sudo groupadd docker sudo adduser $USER docker latexmkスクリプトを作る /usr/texbin/latexmk(手動でlatexのTeX Pathを設定するか、デフォルトでPATHの通っている場所ならどこでもいい)に以下のシェルスクリプトを作成し、chmod +x /usr/texbin/latexmkしておく。 ${HOME}/.atom/packages/latex/resourcesのマウントはlatexのExtended Build Modeが有効のときに${HOME}/.atom/packages/latex/resources/latexmkrcが読み出されるため設定している(このパスはホストのAtomから渡されるのでマウント先パスもホストと同じ)。この機能を無効にしていれば不要。 #!/bin/sh docker run --rm \ -v "${PWD}:/workdir" \ -v "${HOME}/.atom/packages/latex/resources:${HOME}/.atom/packages/latex/resources" \ paperist/alpine-texlive-ja \ latexmk "$@" サンプルTeXファイル \documentclass[10pt,a4paper]{jsarticle} \title{My Title} \author{Author} \date{2020-09-17} \begin{document} \maketitle \section{サンプル} \end{document} 注意点 カレントディレクトリ以下をマウントするため、外部においた.styなどは読み込めないので注意(デフォルトでロードされるディレクトリがあれば追加のマウントをすればOKと思われる)。 ...

2020年9月17日 · aoirint

Install TexLive on Ubuntu 18.04

普段TeXを書くときはAtom + latex + pdf-viewなのですが、うまくpdf-viewが動作してくれなくなった(空のタブが開いたりする)ので検証ついでに(関係ないとは思いつつ)TeXのバージョンを上げてみたくなった。aptからインストーラでのインストールに変更。 TeXはインストールに時間がかかっていけない..。dockerイメージ化したいが、毎回dockerコンテナ付けるとめっちゃオーバーヘッドできそう。up -dしてexecで動かせば速いのかな? 一般ユーザでdockerコマンド実行できるようにもしないといけないか。 sudo apt purge texlive-* 東京周辺ならJAIST、山形大学などのミラーサーバに繋がるかと思います。 wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz SHA-512 (2020-04-11) https://ctan.org/tex-archive/systems/texlive/tlnet sha512sum install-tl-unx.tar.gz 6fbca1895f0f08645e2ff97b34b9b07d659af7d25de1edc6e123fc472f3dd05db42edc9e5450fd09fae548f5259f93d7f98f63d29dfe6ff7e069685ba202661b install-tl-unx.tar.gz tar xf install-tl-unx.tar.gz cd install-tl-* sudo ./install-tl Actions: <I> start installation to hard disk <P> save installation profile to 'texlive.profile' and exit <H> help <Q> quit Enter command: I Installing to: /usr/local/texlive/2020 Installing [0001/3978, time/total: ??:??/??:??]: texlive.infra [420k] Installing [0002/3978, time/total: 00:01/02:06:37]: texlive.infra.x86_64-linux [143k] おうちの回線では1h-2hくらい。おやすみなさい.. ...

2020年4月12日 · aoirint