자체 서버에서 platex를 지원하는 sharelatex 환경 구축
8212 단어 ShareLatexTeXLivegruntOverleaf
CloudLaTeX 등의 서비스를 사용하면 그때까지입니다.
2019/11/15 추가
새로 고쳐 썼습니다. 앞으로는 여기를보십시오.
Overleaf (이전 sharelatex) 환경 구축
주의
필자는 서버라든지 우분투에 관해서는 도 아마추어이므로 잘못되어 있는 곳이 많을지도 모릅니다.
이쪽도 모르는 것이 많기 때문에 정정이나 코멘트 해 주시면 고맙습니다.
이 기사에서 할 수 있는 일
필자는 서버라든지 우분투에 관해서는 도 아마추어이므로 잘못되어 있는 곳이 많을지도 모릅니다.
이쪽도 모르는 것이 많기 때문에 정정이나 코멘트 해 주시면 고맙습니다.
이 기사에서 할 수 있는 일
이 기사에서 할 수없는 일
컴파일러 선택란에 platex로 표시
구축 환경
우분투 14.04LTS
TeXLive 2016
참고로 한 사이트
공식 wiki와 이 사이트의 조합입니다.
sharelatex wiki
sharelatex에서 jarticle을 사용할 수있게 만들기
sharelatex에서 jarticle을 잡을 수 있도록 그 2
sharelatex를 넣기 전에 준비
htps : // 기주 b. 코 m / 멋쟁이 x / 멋쟁이 x / うぃき /
참고로
- 도커
- Redis
- MongoDB
- Node.js
- Grunt command line tools
- libkrb5-dev/krb5-devel
넣어야한다고합니다,
TeXLive 정보
$ sudo apt-get install texlive-all
를 사용하면 여러가지 꼬이지 않기 때문에,
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar -xvf install-tl-unx.tar.gz
$ cd install-tl-*
$ sudo ./install-tl
더하십시오. 어떤 패키지를 넣는지에 대한 자세한 설명은 여러 사람을 보면 알기 쉽습니다. 덧붙여서 현재 어느 버전까지 대응하고 있는지 모르기 때문에 이번에는 2016을 사용했습니다.
패스를 통과
$ export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH
2016은 적절하게 변경하십시오.
latexmk 넣기
# apt-get install latexmk
sharelatex 소개
$ docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
이제 sharelatex를 사용할 수 있습니다.
Sharelatex 일본어
# vi sharelatex/docker-compose.yml
처리가 끝나면 sharelatex의 계층이 만들어집니다. 거기에 있는 docker-compose.yml로 기본적인 설정을 할 수 있게 되어 있습니다.
docker-compose.ymlSHARELATEX_SITE_LANGUAGE: "ja"
을 docker-compose.yml의 좋은 곳에 추가. 그 이외의 언어도 "ja"를 변경하면 사용할 수 있습니다.
sharelatex 시작
$ docker-compose up
부터 시작합시다.
그렇다면 액세스를 시도합시다.
http://localhost:5000/
설명에 따라 설정했다면 이제 액세스 할 수 있어야합니다.
admin 사용자 만들기
$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email [email protected]"
확인이 완료되면 계정을 관리하는 admin 사용자를 만듭니다.
을 실행하면 URL이 표시되므로 액세스하여 비밀번호를 설정합니다.
sharelatex 종료
docker-compose down
종료할 때는 이것으로 괜찮습니다.
sharelatex 구성 파일 추가
cd overleaf/
# grunt install
위의 공정까지 일단 LaTeX나 XeLaTeX는 사용할 수 있습니다. 아래에서 pLaTeX를 어떻게든 사용할 수 있도록 해 나갑니다.
단순히 sharelatex를 넣은 것만으로 내용을 괴롭히지 않으므로 구성 파일 (?)을 넣습니다.
sharelatex에서 platex를 사용할 수있게 만들기
clsi 편집
# vi overleaf/clsi/app/coffee/LatexRunner.coffee
- else if compiler == "xelatex"
- command = LatexRunner._xelatexCommand mainFile
+ else if compiler == "platex"
+ command = LatexRunner._platexCommand mainFile
- _xelatexCommand: (mainFile) ->
+ _platexCommand: (mainFile) ->
LatexRunner._latexmkBaseCommand.concat [
- "-xelatex", "-e", "$pdflatex='xelatex -synctex=1 -interaction=batchmode %O %S'",
+ "-pdfdvi", "-e", "$latex='platex -synctex=1 -interaction=batchmode %O %S'",
# vi overleaf/clsi/app/coffee/RequestParser.coffee
- VALID_COMPILERS: ["pdflatex", "latex", "xelatex", "lualatex"]
+ VALID_COMPILERS: ["pdflatex", "latex", "platex", "lualatex"]
간단히 말해서 XeLaTeX를 지우고 pLaTeX를 사용하도록 다시 씁니다.
변경 내용은 거의 ShareLatex에서 jarticle을 사용할 수 있도록 설정과 같습니다.
편집이 끝나면 저장하고
$ cd sharelatex/clsi
$ grunt install
platex와 같은 설정을하는 dockerfile 만들기
$ mkdir overleaf/overleaf
$ vi Dockerfile
overleaf에 overleaf 디렉토리를 만들어 Dockerfile을 만듭니다.
platex 넣거나 설정 여러가지.
내용은 인용처( sharelatex에서 jarticle을 잡을 수 있도록 그 2 )와 같습니다.
DockerfileFROM sharelatex/sharelatex:latest
# platex install
RUN apt-get update \
&& apt-get install texlive-lang-cjk -y \
&& apt-get clean \
&& apt-get autoremove
# latexmk
RUN cd /usr/local/texlive/2016/bin/x86_64-linux/ \
&& sed -ri "s/$latex = 'latex %O %S';/$latex = 'platex -shell-escape %O %S';/g" latexmk \
&& sed -ri "s/$bibtex = 'bibtex %O %B';/$bibtex = 'pbibtex %O %B';/g" latexmk \
&& sed -ri "s/$dvipdf = 'dvipdf %O %S %D';/$dvipdf = 'dvipdfmx %O -o %D %S';/g" latexmk
TeXLive의 버전과 저장 위치에 따라 적절하게 변경하십시오.
docker-compose.yml 편집
docker-compose.ymlversion: '2'
services:
sharelatex:
build: "./overleaf"
....
만든 dockerfile을 build하도록 편집한다 (build의 행을 좋은 곳에 배치해 주세요)
재부팅
$ docker-compose up -d --build
여기까지 일단 latex를 선택하면 platex를 사용하여 컴파일할 수 있게 됩니다.
가능하다면 이런 느낌
Reference
이 문제에 관하여(자체 서버에서 platex를 지원하는 sharelatex 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomy_hara/items/dbbeb7d46f69188f8439
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우분투 14.04LTS
TeXLive 2016
참고로 한 사이트
공식 wiki와 이 사이트의 조합입니다.
sharelatex wiki
sharelatex에서 jarticle을 사용할 수있게 만들기
sharelatex에서 jarticle을 잡을 수 있도록 그 2
sharelatex를 넣기 전에 준비
htps : // 기주 b. 코 m / 멋쟁이 x / 멋쟁이 x / うぃき /
참고로
- 도커
- Redis
- MongoDB
- Node.js
- Grunt command line tools
- libkrb5-dev/krb5-devel
넣어야한다고합니다,
TeXLive 정보
$ sudo apt-get install texlive-all
를 사용하면 여러가지 꼬이지 않기 때문에,
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar -xvf install-tl-unx.tar.gz
$ cd install-tl-*
$ sudo ./install-tl
더하십시오. 어떤 패키지를 넣는지에 대한 자세한 설명은 여러 사람을 보면 알기 쉽습니다. 덧붙여서 현재 어느 버전까지 대응하고 있는지 모르기 때문에 이번에는 2016을 사용했습니다.
패스를 통과
$ export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH
2016은 적절하게 변경하십시오.
latexmk 넣기
# apt-get install latexmk
sharelatex 소개
$ docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
이제 sharelatex를 사용할 수 있습니다.
Sharelatex 일본어
# vi sharelatex/docker-compose.yml
처리가 끝나면 sharelatex의 계층이 만들어집니다. 거기에 있는 docker-compose.yml로 기본적인 설정을 할 수 있게 되어 있습니다.
docker-compose.ymlSHARELATEX_SITE_LANGUAGE: "ja"
을 docker-compose.yml의 좋은 곳에 추가. 그 이외의 언어도 "ja"를 변경하면 사용할 수 있습니다.
sharelatex 시작
$ docker-compose up
부터 시작합시다.
그렇다면 액세스를 시도합시다.
http://localhost:5000/
설명에 따라 설정했다면 이제 액세스 할 수 있어야합니다.
admin 사용자 만들기
$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email [email protected]"
확인이 완료되면 계정을 관리하는 admin 사용자를 만듭니다.
을 실행하면 URL이 표시되므로 액세스하여 비밀번호를 설정합니다.
sharelatex 종료
docker-compose down
종료할 때는 이것으로 괜찮습니다.
sharelatex 구성 파일 추가
cd overleaf/
# grunt install
위의 공정까지 일단 LaTeX나 XeLaTeX는 사용할 수 있습니다. 아래에서 pLaTeX를 어떻게든 사용할 수 있도록 해 나갑니다.
단순히 sharelatex를 넣은 것만으로 내용을 괴롭히지 않으므로 구성 파일 (?)을 넣습니다.
sharelatex에서 platex를 사용할 수있게 만들기
clsi 편집
# vi overleaf/clsi/app/coffee/LatexRunner.coffee
- else if compiler == "xelatex"
- command = LatexRunner._xelatexCommand mainFile
+ else if compiler == "platex"
+ command = LatexRunner._platexCommand mainFile
- _xelatexCommand: (mainFile) ->
+ _platexCommand: (mainFile) ->
LatexRunner._latexmkBaseCommand.concat [
- "-xelatex", "-e", "$pdflatex='xelatex -synctex=1 -interaction=batchmode %O %S'",
+ "-pdfdvi", "-e", "$latex='platex -synctex=1 -interaction=batchmode %O %S'",
# vi overleaf/clsi/app/coffee/RequestParser.coffee
- VALID_COMPILERS: ["pdflatex", "latex", "xelatex", "lualatex"]
+ VALID_COMPILERS: ["pdflatex", "latex", "platex", "lualatex"]
간단히 말해서 XeLaTeX를 지우고 pLaTeX를 사용하도록 다시 씁니다.
변경 내용은 거의 ShareLatex에서 jarticle을 사용할 수 있도록 설정과 같습니다.
편집이 끝나면 저장하고
$ cd sharelatex/clsi
$ grunt install
platex와 같은 설정을하는 dockerfile 만들기
$ mkdir overleaf/overleaf
$ vi Dockerfile
overleaf에 overleaf 디렉토리를 만들어 Dockerfile을 만듭니다.
platex 넣거나 설정 여러가지.
내용은 인용처( sharelatex에서 jarticle을 잡을 수 있도록 그 2 )와 같습니다.
DockerfileFROM sharelatex/sharelatex:latest
# platex install
RUN apt-get update \
&& apt-get install texlive-lang-cjk -y \
&& apt-get clean \
&& apt-get autoremove
# latexmk
RUN cd /usr/local/texlive/2016/bin/x86_64-linux/ \
&& sed -ri "s/$latex = 'latex %O %S';/$latex = 'platex -shell-escape %O %S';/g" latexmk \
&& sed -ri "s/$bibtex = 'bibtex %O %B';/$bibtex = 'pbibtex %O %B';/g" latexmk \
&& sed -ri "s/$dvipdf = 'dvipdf %O %S %D';/$dvipdf = 'dvipdfmx %O -o %D %S';/g" latexmk
TeXLive의 버전과 저장 위치에 따라 적절하게 변경하십시오.
docker-compose.yml 편집
docker-compose.ymlversion: '2'
services:
sharelatex:
build: "./overleaf"
....
만든 dockerfile을 build하도록 편집한다 (build의 행을 좋은 곳에 배치해 주세요)
재부팅
$ docker-compose up -d --build
여기까지 일단 latex를 선택하면 platex를 사용하여 컴파일할 수 있게 됩니다.
가능하다면 이런 느낌
Reference
이 문제에 관하여(자체 서버에서 platex를 지원하는 sharelatex 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomy_hara/items/dbbeb7d46f69188f8439
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
htps : // 기주 b. 코 m / 멋쟁이 x / 멋쟁이 x / うぃき /
참고로
- 도커
- Redis
- MongoDB
- Node.js
- Grunt command line tools
- libkrb5-dev/krb5-devel
넣어야한다고합니다,
TeXLive 정보
$ sudo apt-get install texlive-all
를 사용하면 여러가지 꼬이지 않기 때문에,
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar -xvf install-tl-unx.tar.gz
$ cd install-tl-*
$ sudo ./install-tl
더하십시오. 어떤 패키지를 넣는지에 대한 자세한 설명은 여러 사람을 보면 알기 쉽습니다. 덧붙여서 현재 어느 버전까지 대응하고 있는지 모르기 때문에 이번에는 2016을 사용했습니다.
패스를 통과
$ export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH
2016은 적절하게 변경하십시오.
latexmk 넣기
# apt-get install latexmk
sharelatex 소개
$ docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
이제 sharelatex를 사용할 수 있습니다.
Sharelatex 일본어
# vi sharelatex/docker-compose.yml
처리가 끝나면 sharelatex의 계층이 만들어집니다. 거기에 있는 docker-compose.yml로 기본적인 설정을 할 수 있게 되어 있습니다.
docker-compose.ymlSHARELATEX_SITE_LANGUAGE: "ja"
을 docker-compose.yml의 좋은 곳에 추가. 그 이외의 언어도 "ja"를 변경하면 사용할 수 있습니다.
sharelatex 시작
$ docker-compose up
부터 시작합시다.
그렇다면 액세스를 시도합시다.
http://localhost:5000/
설명에 따라 설정했다면 이제 액세스 할 수 있어야합니다.
admin 사용자 만들기
$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email [email protected]"
확인이 완료되면 계정을 관리하는 admin 사용자를 만듭니다.
을 실행하면 URL이 표시되므로 액세스하여 비밀번호를 설정합니다.
sharelatex 종료
docker-compose down
종료할 때는 이것으로 괜찮습니다.
sharelatex 구성 파일 추가
cd overleaf/
# grunt install
위의 공정까지 일단 LaTeX나 XeLaTeX는 사용할 수 있습니다. 아래에서 pLaTeX를 어떻게든 사용할 수 있도록 해 나갑니다.
단순히 sharelatex를 넣은 것만으로 내용을 괴롭히지 않으므로 구성 파일 (?)을 넣습니다.
sharelatex에서 platex를 사용할 수있게 만들기
clsi 편집
# vi overleaf/clsi/app/coffee/LatexRunner.coffee
- else if compiler == "xelatex"
- command = LatexRunner._xelatexCommand mainFile
+ else if compiler == "platex"
+ command = LatexRunner._platexCommand mainFile
- _xelatexCommand: (mainFile) ->
+ _platexCommand: (mainFile) ->
LatexRunner._latexmkBaseCommand.concat [
- "-xelatex", "-e", "$pdflatex='xelatex -synctex=1 -interaction=batchmode %O %S'",
+ "-pdfdvi", "-e", "$latex='platex -synctex=1 -interaction=batchmode %O %S'",
# vi overleaf/clsi/app/coffee/RequestParser.coffee
- VALID_COMPILERS: ["pdflatex", "latex", "xelatex", "lualatex"]
+ VALID_COMPILERS: ["pdflatex", "latex", "platex", "lualatex"]
간단히 말해서 XeLaTeX를 지우고 pLaTeX를 사용하도록 다시 씁니다.
변경 내용은 거의 ShareLatex에서 jarticle을 사용할 수 있도록 설정과 같습니다.
편집이 끝나면 저장하고
$ cd sharelatex/clsi
$ grunt install
platex와 같은 설정을하는 dockerfile 만들기
$ mkdir overleaf/overleaf
$ vi Dockerfile
overleaf에 overleaf 디렉토리를 만들어 Dockerfile을 만듭니다.
platex 넣거나 설정 여러가지.
내용은 인용처( sharelatex에서 jarticle을 잡을 수 있도록 그 2 )와 같습니다.
DockerfileFROM sharelatex/sharelatex:latest
# platex install
RUN apt-get update \
&& apt-get install texlive-lang-cjk -y \
&& apt-get clean \
&& apt-get autoremove
# latexmk
RUN cd /usr/local/texlive/2016/bin/x86_64-linux/ \
&& sed -ri "s/$latex = 'latex %O %S';/$latex = 'platex -shell-escape %O %S';/g" latexmk \
&& sed -ri "s/$bibtex = 'bibtex %O %B';/$bibtex = 'pbibtex %O %B';/g" latexmk \
&& sed -ri "s/$dvipdf = 'dvipdf %O %S %D';/$dvipdf = 'dvipdfmx %O -o %D %S';/g" latexmk
TeXLive의 버전과 저장 위치에 따라 적절하게 변경하십시오.
docker-compose.yml 편집
docker-compose.ymlversion: '2'
services:
sharelatex:
build: "./overleaf"
....
만든 dockerfile을 build하도록 편집한다 (build의 행을 좋은 곳에 배치해 주세요)
재부팅
$ docker-compose up -d --build
여기까지 일단 latex를 선택하면 platex를 사용하여 컴파일할 수 있게 됩니다.
가능하다면 이런 느낌
Reference
이 문제에 관하여(자체 서버에서 platex를 지원하는 sharelatex 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomy_hara/items/dbbeb7d46f69188f8439
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ docker run -d \
-v ~/sharelatex_data:/var/lib/sharelatex \
-p 5000:80 \
--name=sharelatex \
sharelatex/sharelatex
# vi sharelatex/docker-compose.yml
SHARELATEX_SITE_LANGUAGE: "ja"
$ docker-compose up
$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email [email protected]"
docker-compose down
cd overleaf/
# grunt install
# vi overleaf/clsi/app/coffee/LatexRunner.coffee
- else if compiler == "xelatex"
- command = LatexRunner._xelatexCommand mainFile
+ else if compiler == "platex"
+ command = LatexRunner._platexCommand mainFile
- _xelatexCommand: (mainFile) ->
+ _platexCommand: (mainFile) ->
LatexRunner._latexmkBaseCommand.concat [
- "-xelatex", "-e", "$pdflatex='xelatex -synctex=1 -interaction=batchmode %O %S'",
+ "-pdfdvi", "-e", "$latex='platex -synctex=1 -interaction=batchmode %O %S'",
# vi overleaf/clsi/app/coffee/RequestParser.coffee
- VALID_COMPILERS: ["pdflatex", "latex", "xelatex", "lualatex"]
+ VALID_COMPILERS: ["pdflatex", "latex", "platex", "lualatex"]
$ cd sharelatex/clsi
$ grunt install
$ mkdir overleaf/overleaf
$ vi Dockerfile
FROM sharelatex/sharelatex:latest
# platex install
RUN apt-get update \
&& apt-get install texlive-lang-cjk -y \
&& apt-get clean \
&& apt-get autoremove
# latexmk
RUN cd /usr/local/texlive/2016/bin/x86_64-linux/ \
&& sed -ri "s/$latex = 'latex %O %S';/$latex = 'platex -shell-escape %O %S';/g" latexmk \
&& sed -ri "s/$bibtex = 'bibtex %O %B';/$bibtex = 'pbibtex %O %B';/g" latexmk \
&& sed -ri "s/$dvipdf = 'dvipdf %O %S %D';/$dvipdf = 'dvipdfmx %O -o %D %S';/g" latexmk
version: '2'
services:
sharelatex:
build: "./overleaf"
....
$ docker-compose up -d --build
Reference
이 문제에 관하여(자체 서버에서 platex를 지원하는 sharelatex 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomy_hara/items/dbbeb7d46f69188f8439텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)