LaTeX에서 \ include 후 페이지 나누기가없는 방법


110

내 LaTeX는 내 하위 섹션이 별도의 파일에 있기 때문에 각 하위 섹션 후에 페이지를 나눕니다. 사용 \include{file}후 페이지 나누기를 추가하는 명령 을 사용합니다.

나는 사용으로 인한 페이지 나누기를 원하지 않습니다. \include{file} .

include-command를 사용한 후 어떻게 페이지를 넘길 수 없습니까?


2
일반적으로 하위 섹션 후에 페이지 나누기가 발생한다고 생각하지 않습니다. 어떤 문서 클래스를 사용하고 있습니까?
Cascabel

1
헤더 (\ begin {document}까지 모든 것)를 게시하여 무엇이 잘못되었는지 알려 주시겠습니까?
Gerald Senarclens de Grancy

10
을 사용 하거나 \input그렇지 않으면 사용 \input하거나 사용하십시오 \input.
egreg

답변:


4

Will Robertson이 제안한 newclude 패키지는 clearpage를 피하는 데 유용합니다. 그것은 순서대로 나타납니다 \includeonly작업 한 직후 패키지를 호출 할 수있다에 \documentclass{...}. 내 논문의 복잡한 환경에서도 참조가 깨지는 문제에 부딪 혔습니다.

최종 버전에 includeonly가 필요하지 않은 경우 좋은 해결 방법은 초안에서만 include를 사용하는 것입니다.

\newif\ifdraft\drafttrue

또는

\newif\ifdraft\draftfalse

\ifdraft
  \include{...}
\fi

\ifdraft
  \include{file}
\else
  \input{file}
\fi

첫 번째 줄은 makefile에 의해 쉽게 추가되어 초안 또는 프로덕션 버전 프로덕션을 대상으로 만들 수 있습니다.

\includeonly{file1,file2,...}결과 문서에 표시 될 with \include{file1}( file1예제)로 호출 된 소스 파일 목록을 지정할 수 있습니다 . 나머지는 표시되지 않지만 해당 aux 파일이 포함 된 경우 카운터, 레이블, 목차로 고려됩니다.

즉, includeincludeonly하나 를 사용 하면 정확한 참조를 유지하면서 초안에서 컴파일 시간을 짧게 유지할 수 있습니다. Wikibooks 에 대한 추가 읽기 .

@ 윌 로버트슨

\include\includeonly{...}필요한 섹션 만 만들 수 있기 때문에 매우 유용 합니다. 긴 텍스트로 작업하는 동안 긴 장의 섹션 만 포함하는 것은 컴파일 시간에 상당한 차이를 만들 수 있습니다. 또한 한 지점에서 작업하는 동안 긴 초안을 페이지로 넘길 필요가 없기 때문에 매우 유용합니다. 마지막으로, 소스 코드의 작은 파일은 버전 관리 (예 : git)에서 처리하기가 더 쉽습니다.


매우 긴 작업 문서의 한 섹션 만 컴파일하는 방법에 대한 예를 들어 주시겠습니까? pageselabout \discardpagesfromhere및 에서 다음 답변의 이러한 방법을 사용했습니다 \keeppagesfromhere. 그것들은 서로 거의 겹치지 않기 때문에이 초안 관리를 더 잘 처리 할 수 ​​있는지 배우고 싶습니다. tex.stackexchange.com/a/267555/13173
Léo Léopold Hertz 준영

1
그것이 정확하다는 것을 이해한다면, pagesel 은 최종 빌드에 포함될 페이지를 세밀하게 제어함으로써 includeonly 이상을 달성하는 것 입니다. Include는 켜고 끌 수있는 방식으로 소스 코드를 포함하는 훨씬 더 작은 범위를 갖습니다.
gschenk

152

\include항상 \clearpage완전히 합리적이지 않은 기본값을 사용합니다. 하위 섹션이 아닌 전체 장을위한 것입니다 (어쨌든 별도의 파일에 하위 섹션을 원하는 이유는 무엇입니까?).

패키지 를 사용 \input{filename}하거나로드하고 대신 newclude작성 하여 수정할 수 있습니다 \include*{filename}.


내 데이터베이스 프로젝트에는 시스템 설정 방법을 보여주는 "빌딩"문서 계획 문서가 필요합니다. 내 LaTeX 파일의 섹션입니다.
Léo Léopold Hertz 준영

7
다른 파일에 하위 섹션을 넣어야하는 이유를 생각할 수 있습니다. 가장 먼저 떠오르는 것은 목표 및 / 또는 직업 지원에 따라 다양한 세부 수준의 이력서가 있다는 것입니다. 한 번은 단일 '%'기호로 비트를 쉽게 잘라내거나 넣을 수 있습니다.
Nicholas Hamilton

8
나는이 대답을 쓴 이후하면서이되었습니다,하지만 그 괄호가 비꼬는 될 운명이되었다 생각:)
윌 로버트슨에게

\include새 페이지 를 시작하는 이유는 \includeonly제대로 작동 할 수 있기 때문입니다 .
Carsten S

섹션을 다른 파일로 자르는 또 다른 이유 : 처음에는 항상 maketitle이 있지만 인쇄물에만 항상 하나의 운동 시트를 포함하는 운동 시트를 작성하는 것이 좋습니다. 나는 특히 더 많은 연습 시트가 강의의 단일 장을 참조하기 때문에 모든 연습 시트를 챕터 자체로 간주하지는 않습니다. include는 연습이있는 시트 1 (1.1-1.4), 연습이있는 시트 2 (2.1-2.3) 등과 같은 연습 시트 만 계산하는 역할을합니다.
C-Star-W-Star

30

앞에 \include배치하여 발생하는 페이지 나누기를 중지 할 수 있습니다 \let\clearpage\relax. 그래서,

\let\clearpage\relax
\include{file1}
\include{file2}
\include{file3}

세 파일 (및 이후에 포함되는 모든 파일)의 내용을 페이지 나누기없이 함께 넣습니다. \clearpage명령 완화를 중지하려면 다음과 같이 그룹 내에서 페이지 나누기없이 포함하도록 파일을 래핑합니다.

\begingroup
\let\clearpage\relax
\include{file1}
\include{file2}
\endgroup
\include{file3}

이렇게하면 file1과 file2 사이의 페이지 나누기가 중지되지만 file2 뒤에 일반 페이지 나누기가 삽입됩니다. (참고 : 이것이 참조 및 페이지 번호 매기기를 방해하는지 여부는 알 수 없지만 괜찮을 것이라고 생각합니다.)


1
감사! 이 답변은 포함 및 참조가 여러 개 있고 새 페이지를 원하지 않을 때 잘 작동합니다. 마지막 그룹에 하나와 참고 문헌 부분을 포함하고 더 이상 명확한 페이지가 없도록 만드십시오.
Manuel Ferreria

2
Manuel이 옳습니다. \begingroup\let\clearpage\relax ...\endgroup원하는 곳 에서 트릭을 사용할 수 있습니다 --- 참고 문헌이 텍스트와 같은 페이지에 있도록하려면 특정 섹션이나 부분 사이의 페이지 나누기를 중지하십시오.
John

1
이 솔루션은 참조와 관련하여 몇 가지 문제를 일으킨 것 같습니다. 두 개의 열거 된 목록이 포함 된 포함 된 파일에서 두 번째 목록의 항목에 대한 참조가 작동하지 않았습니다. 왜 이것이되어야하는지 모르겠지만 newclude로 전환하면 문제가 해결되었습니다.
Mike Shulman

1
이 방법 사용하지 않는 것이 좋습니다 . 해결하는 것보다 더 많은 문제를 생성합니다 (처음에 문제를 해결한다고 가정). tex.stackexchange.com/a/185237/4427
egreg

2

고마워요, 캠브리지 !

\ input 대신 \ include를 사용하고 \ includeonly 명령을 사용하여 처리 할 섹션을 선택합니다.


2
이것은 최선의 조언이 아닙니다. 이러한 상황에서 의도 한 실제 명령이 있는데 왜 \include{...]작업 에 사용하고 싶 \input{...}습니까?
Florian R. Klein

1
이 대답은 질문에 전혀 대답하지 않는 것 같습니다. (그렇지 않으면 유용한 조언이긴하지만 좋은 참조가 있습니다.)
jciloa

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