내 조직 파일 상단에서 LATEX_HEADER 혼란을 줄입니다.


13

나는 종종 조직 모드에서 메모를 작성하고 라텍스로 내 보냅니다. 그러나 일부 문서는 복잡하기 때문에 맨 위에 많은 라텍스 패키지를 포함시켜야합니다.

#+LATEX_HEADER: \usepackage[margin=1.15in]{geometry}
#+LATEX_HEADER: \usepackage{parskip}
#+LATEX_HEADER_EXTRA: \usepackage{graphicx}
#+LATEX_HEADER_EXTRA: \usepackage{mdframed}
#+LATEX_HEADER_EXTRA: \usepackage{needspace}
#+LATEX_HEADER_EXTRA: \usepackage{hyperref}         
#+LATEX_HEADER_EXTRA: \usepackage{titling}
#+LATEX_HEADER_EXTRA: \usepackage{enumitem}
#+LATEX_HEADER_EXTRA: \usepackage{etoolbox}                             
#+LATEX_HEADER_EXTRA: \usepackage{color}                             
#+LATEX_HEADER_EXTRA: \usepackage{underscore}...

모든 라텍스 헤더 명령 (\ usepackage, 매크로 정의 등)을 별도의 tex 파일에 저장하여 org 파일 상단에 한 줄만 포함시킬 수 있습니까? 이렇게하면 많은 혼란이 줄어들고 패키지를 쉽게 추가 할 수 있습니다.

답변:


14

당신은 사용할 수 있습니다 #+SETUPFILE:

이러한 모든 설정을 파일에 ./setup/setupfile.org넣은 다음 문서에 포함시킵니다.

#+SETUPFILE: ./setup/setupfile.org

이 파일에서, 당신은 또한 포함 할 수 있습니다 #+OPTIONS:, #+AUTHOR및 유사한 설정에서 버퍼. 더욱 유용한 점은 #+SETUPFILE:첫 번째 로드시 로컬 설정으로 이러한 구성 중 일부를 무시할 수 있다는 것입니다.

내보내기에 대한 조직 매뉴얼 도 참조하십시오 .

또 다른 해결책은 단순히 파일 내용을 조직 소스로 포함하는 #+INCLUDE: "./setup/more-settings.org" src org(참고 ")를 사용하는 것입니다 . 하나 이상이 될 수 #+INCLUDE있는 곳 (afaik)이 둘 이상있을 수 있으므로 이것은 좀 더 다목적 #+SETUPFILE입니다.

마지막으로, 혼란을 시각적으로 숨기려면 이러한 로컬 설정을 모두 서랍에 넣거나 (와 라인 사이 ) :DRAWER:라인으로 :END:간단히 숨길 수 있습니다 tab.


3
내 실제 경험에서 서랍 솔루션은 헤더를 사용하는 가장 편리하고 빠른 방법입니다.
Dieter. 빌헬름

4

다른 해결책은 변수를 확인 / 사용자 정의 org-latex-packages-alist하여 필요한 모든 것을 추가하는 것 \usepackage{...}입니다.

이 변수는에서 선언되고 사용 ox-latex되므로 조직 구성에 선언이 있어야합니다 (require 'os-latex). 이렇게하면 제목을 제외하고 조직 문서에 추가 할 줄이 없습니다.

매크로의 경우, 일반적인 저장 장소는 yasnippet 패키지입니다 (사용하는 경우).


3

대체 솔루션은 내 보내지 않은 헤드 라인을 사용하여 구성을 래핑하는 것입니다.

* Configuration :ignoreheading:
#+AUTHOR:   
#+STARTUP: showall
...

이 솔루션과 서랍의 장점은 LaTeX 블록과 같은 정교한 구성을 쉽게 포함 할 수 있다는 것입니다.

#+BEGIN_EXPORT LATEX
...
#+END_EXPORT

서랍에있을 때 기본적으로 읽히지 않습니다.

이 솔루션과 구성 파일 (setupfile 또는 include)의 장점은 현재 파일에 포함되어 있으므로 구성을 쉽게 변경할 수 있다는 것입니다.

마지막으로, 조직 파일을 열 때이 헤드 라인이 기본적으로 닫힌 상태로 유지되도록하려면 다음 구문을 사용할 수 있습니다.

* Configuration :ignoreheading:
  :PROPERTIES:
  :VISIBILITY: folded
  :END:

나는 하나의 공감대를 제공했지만 이것이 나의 새로운 기본값이되었습니다! 이 모든 답변은 라텍스 내보내기에 대한 모범 사례로서 문서 중심의 설정과 대부분의 설정을 emacs config에 두는 방식으로 조직 매뉴얼에 들어가야합니다.
glallen

1

오히려 사용하기보다 #+SETUPFILE:허용 대답에 따라 당신은 그냥 LaTeX의 출력에 관심이 있다면, 당신은 대신에 다음을 추가 할 수 있습니다 :

#+LATEX_HEADER: \input{header.tex}

에서 header.tex(또는 무엇이든 당신이 그것을 호출 할), 당신은 다음의 전체 무리 할 필요없이 모든 LaTeX의 프리앰블을 넣을 수 있습니다 #+LATEX_HEADER:인수. 슈퍼 메타가 되려면에서이 #+LATEX_HEADER옵션 을 사용할 수도 있습니다 #+SETUPFILE.


이 질문에 대한 답변으로 내 답변을 편집했습니다.
jdtonkin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.