특히 인용 스타일과 관련하여 마스터와 하위 문서의 LyX 동기화 문서 설정

특히 인용 스타일과 관련하여 마스터와 하위 문서의 LyX 동기화 문서 설정

하위 문서의 문서 설정이 마스터 문서와 호환되는지 어떻게 확인할 수 있습니까?

오늘 저는 인용과 관련해 큰 고민을 했습니다.

마스터 문서에서 "인용 스타일 표준(숫자)"을 선택하고 하위 문서에서 "natbib"를 선택하면 "인용 삽입 창"(하위 문서)에서 natbib 패키지(citet, citep, 인용저자 등). 문서를 렌더링하려고 하면 "제어 시퀀스가 ​​정의되지 않았습니다"라는 오류가 발생합니다(분명히 \citet은 natbib 패키지에만 정의되어 있으므로 (적어도 마스터에는) 포함하지 않았습니다).

마스터 및 하위 설정을 수동으로 동기화해야 합니까? 자동으로 수행할 수 없어야 합니까? 아니면 다른 설정이 유용한 사용 사례가 있습니까? 헤더 없이 하위 문서를 가질 수도 있는 LaTeX와 같은 동작을 기대합니다.

이 문제:하위 문서가 있는 LyX BibTeX가 작동하지 않습니다. 분명히 같은 문제로 인해 발생했습니다.

답변1

이는 귀하의 질문에 부분적으로만 대답할 수 있습니다. 일부 하위 문서가 포함된 마스터 문서가 있습니다. 모든 lyx 파일은 동일한 문서 유형을 가지며 기본값을 사용합니다. 패키지를 포함하거나 매크로를 정의하기 위해 서문에서 수행해야 하는 모든 작업이 포함된 추가 tex 파일(options.tex)이 있습니다.

lyx 문서의 서문에 input지침을 추가합니다.

\input{options}

이 솔루션은 완벽하지는 않지만 이를 통해 마스터 문서(190페이지 이상이므로 시간이 소요됨)를 컴파일하거나 하위 문서만 컴파일할 수 있습니다.

답변2

현재 유일한 옵션은 오류가 발생하기 쉬운 설정을 수동으로 동기화하는 것 같습니다. 오류를 줄이기 위해 제가 찾은 가장 안정적인 작업 흐름은 다음과 같습니다.

  • 상위 문서의 설정을 변경합니다.
  • LyX 닫기
  • 상위 문서를 일반 텍스트 문서(예: Emacs 사용)로 열고 로 시작 \begin_header하고 끝나는 부분을 복사합니다 \end_header.
  • 각 하위 문서에 대해 다음을 수행합니다.
    • 하위 문서를 일반 텍스트로 열기
    • 헤더를 상위 문서 헤더로 덮어씁니다.

이 프로세스를 자동화하기 위해 스크립트를 작성했습니다.lyx-header-util.py[gist.github.com](Python 3 필요) 워크플로를 다음으로 줄입니다.

  • 각 하위 문서 실행에 대해

    lyx-header-util.py copyheaderinplace PARENTFILE.LYX CHILDDOCUMENT.lyx
    

(이 작업을 수행하기 전에 백업하는 것이 좋습니다. 스크립트는 원본 파일을 덮어씁니다.)

관련 정보