자체 서버에서 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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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.)