
CWEB 파일이 있는데 페이지 크기를 변경하고 싶습니다. 나는 일반 TeX 문서에서 이 작업을 수행하는 방법을 알고 있으며 항상 나에게 잘 작동했습니다. CWEB 파일에서 동일한 작업(hsize, 오프셋 등 변경)을 수행하면 여백과 배치가 완전히 엉망이 됩니다.
A4용지로 출력하고 싶습니다. 최종 페이지 크기는 내 pdftex에 의해 A4로 설정되므로 문제가 되지 않습니다. 문제는 오히려 CWEB이 레터 용지 출력용으로 제작되었기 때문에 예를 들어 복사본이 중앙에 위치하지 않는다는 것입니다.
나는 Knuth의 Stanford Graphbase에서 해결책을 찾으려고 노력했습니다. 왜냐하면 그것은 책 형식으로 출판된 CWEB 프로그램의 묶음이기 때문에 그가 페이지 크기를 변경하기 위해 뭔가를 했을 것임에 틀림없습니다. 그러나 그가 인터넷에 공개한 자료들은 편지 출력용이므로 별 도움이 되지 않는다. 어떤 아이디어가 있나요?
지금까지 CWEB 파일의 시작 부분에 다음 코드를 추가했습니다(이 코드는 일반 TeX 파일에서도 작동합니다).
\newdimen\pagewidth \pagewidth=210mm
\newdimen\pageheight \pageheight=297mm
\hsize=13cm
\hoffset=\pagewidth
\advance\hoffset by-\hsize
\hoffset=.5\hoffset
\advance\hoffset by-1in
\voffset=\pageheight
\advance\voffset by-\vsize
\voffset=0.5\voffset
\advance\voffset by-1in
답변1
이는 CWEB 매뉴얼( texdoc cweb
DVI 파일을 여는 명령을 호출하여 열 수 있음)에 문서화되어 있습니다.온라인에서 PDF로 읽기), 안에부록 C: CWEB 매크로 사용 방법(25페이지), 포인트 4.
요령은 \pagewidth
(기본 6.5in), \pageheight
(기본 8.7in) 또는 \fullpageheight
(기본 9in) 중 하나를 설정한 후 다음과 같이 말해야 한다는 것입니다 \setpage
.
이러한 수량을 변경하는 경우 변경 직후 \setpage 매크로를 호출해야 합니다.
예: 다운로드하면lp.w크누스의 것에서다운로드 가능한 프로그램 페이지, 그리고 실행하면 (또는 ) 로 처리된 cweave lp.w
을 얻을 수 있으며 첫 번째 페이지로 다음을 제공합니다.lp.tex
tex lp.tex
pdftex lp.tex
lp.tex
상단 을 변경하면
\input cwebmac
\datethis
에게
\input cwebmac
\pagewidth=3.25in % The default is 6.5in
\pageheight=4.35in % The default is 8.7in
\fullpageheight=4.5in % The default is 9in
\setpage
\datethis
(모든 것을 반으로 줄이면) (PDF 용지 크기를 변경하지 않으면) 다음과 같은 결과를 얻습니다.
특히 A4 용지의 경우 편지지와 동일한 여백을 유지하려면(별 의미는 없지만 하나의 옵션임) \input cwebmac
파일 상단의 을 .tex
(를 사용하는 경우 pdftex
) 로 변경할 수 있습니다. :
\input cwebmac
\pdfpagewidth=210mm
\pdfpageheight=297mm
\pagewidth= 159.2mm % The default is 6.5in for 8.5in width, so for A4 this is 210mm - 2in
\pageheight=238.58mm % The default is 8.7in for 11in height, so for A4 this is 297mm - 2.3in
\fullpageheight=246.2mm % The default is 9in for 11in height, so for A4 this is 297mm - 2in
\setpage
레이아웃(텍스트 너비, 줄 바꿈 등)을 Letter 용지와 동일하게 유지하고 대신 A4 용지에 중앙에 배치하려면(Igor의 답변에서 제안한 대로) 물론 해야 할 일 특별한 것은 없으며 cwebmac
어디서나 동일한 코드 블록을 사용할 수 있습니다. 간단하게 조정할 수 있습니다 \pdfhorigin
. 기본값은 1in
(=(8.5in - 6.5in)/2)입니다. 파일 맨 위에 이것을 추가하고 다른 것은 변경하지 마십시오.
\pdfpagewidth=210mm
\pdfpageheight=297mm
\pdfhorigin=\dimexpr (210mm-6.5in)/2
\pdfvorigin=\dimexpr (297mm-9in)/2