일반 TeX 및 OPmac 매크로: 페이지(배경) 색상 설정

일반 TeX 및 OPmac 매크로: 페이지(배경) 색상 설정

개요: TeX + OPmac에서 페이지 배경을 설정하는 매크로 추가


밖으로http://petr.olsak.net/opmac-tricks-e.html#coltext...OPmac의 핵심 opmac.tex매크로 패키지에 대한 추가 매크로 목록에 대한 팁과 요령:

문서 내에서 색상을 변경하는 방법으로 제안된 아래 코드는 \input colorTeX에서 설정할 문서에 사용 가능한 매크로 코드에 색상 패키지를 통합하는 TeX 방식과 충돌합니다.

\def\color#1{\localcolor\colorA#1\relax}
\def\colorA#1#2\relax{\uppercase{\csname#1}#2\endcsname\ignorespaces}

OPmac은 색상을 제공하지만 문서의 페이지 색상을 설정하는 매크로가 포함되어 있지 않습니다. 문서의 모든 페이지를 특정 배경색으로 채색하는 것을 참조하여 올바른 상자를 정의하면 이 문제가 해결될 것입니다. \input colorOPmac은 로컬에서 색상/색상 배경을 변경하는 위의 매크로를 포함하여 모든 색상 기능을 제공하므로 후자는 대부분 중복됩니다 .

질문: 누구든지 올바른 '상자'를 정의하는 짧은 추가 매크로와 페이지 배경을 설정하는 추가 사용자 명령을 제공할 수 있습니까? 색상이 구현되어 있기 때문입니다.

이유: Petr는 스타일이 아닌 기능에 초점을 맞춘 패키지를 제공했습니다.~이다추가 사용자 기능에 대한 요청. 둘째, 단지 배경색을 추가하기 위해 매크로 파일을 포함하고 , 충돌을 해결하기 위해 위의 OPmac-tricks 매크로를 주석 처리하는 것은 말도 안 되는 일입니다. 셋째, 최소한의 견고한 코드 기반을 가지려는 Petr의 철학은 모든 코드를 color.tex포함함으로써 숨겨집니다. color.tex위의 내용에 대해서만.

개인적인 정당성: 교정을 위한 배경 색상 및 텍스트 색상은 모든 작성자/프로그래머에게 심각한 이점입니다. 대부분의 인쇄된 PDF의 흰색 바탕에 검정색은 소스(vim-solarized)와 PDF 출력 간을 전환하는 데 눈의 부담을 줍니다. 둘 사이의 앞뒤를 균질화하기 위해 우리 모두는 삶의 일부를 '화면'에서 보내는 것은 사소한 일이 아닙니다. 인쇄 시간이 오면 나머지 형식은 동일하므로 인쇄용 흑백으로 컴파일하는 것은 \input opmacmodified_to_proofread_onscreen\input opmac_modified_to_print조건부 또는 두 가지를 추가하는 것만큼 간단합니다 opmac_modified.tex.

단순화된 질문: TeX + OPmac에서 페이지 배경을 쉽게 설정하기 위한 추가 매크로

문제를 더 자세히 살펴보면 float 또는 간단한 \lipsum[2-10]텍스트 사용에 관계없이 몇 페이지를 실행하는 color.tex 매크로는 두 번째 페이지의 왼쪽과 아래쪽/상단에 "번짐"을 제공합니다.

그런 다음 색상 및 페이지 배경 색상과 관련된 사용에 관한 모든 문서에는 절대 침묵이 있습니다. "색상"은 로컬 또는 전역적으로 텍스트 색상을 지정하는 것을 의미하고 "배경" 색상은 "상자"에 색상을 지정하는 로컬 문제라고 가정합니다.

돌이켜보면 이론적인 기능이 있어야 합니다. 모든 라텍스가 tex 프리미티브 위에 구축된 후에는 페이지의 용이성 라텍스 색상 배경을 하늘에서 가져올 수 없으며 OPmac 매크로는 배경 색상을 로컬에서 쉽게 렌더링할 수 있습니다.

조판은 인쇄용으로만 수행되므로 문제가 사소한 문제가 되며, 프로세스로 조판하려면 소스에서 화면상의 편집으로 점프해야 하므로 저작 과정에서 배경을 조정해야 할 충분한 이유가 있습니다. 유용성을 위한 소스(vim-solarized의 경우). 결국 그렇게 사소한 것은 아닙니다.

원칙적인 방식으로 tex에서 페이지 색상 지정 기능을 논의하고, 다른 한편으로는 그것이 비본질적이라는 점과 적절한 명시적 필요성을 확신하는 것이 매우 만족스러울 것입니다.

답변1

페이지의 배경색 설정 문제는 OPmac 기본 매크로를 사용하고 일부 OPmac 색상 정의 등과 충돌을 일으키는 color.tex 매크로 코드를 생략하여 해결되었습니다. 두 번째 보너스는 간결함이라는 요소였습니다. 코딩은 잘 문서화되어야 하고, 두 번째는 간결해야 합니다. 두 가지 조건이 모두 충족되었습니다.

Macro (0021) - petr.olsak.net/opmac-tricks-e.html#coltext 공개 페이지의 PO 08. 2013은 문서 전체에서 페이지 배경색을 완벽하게 생성하는 데 필요한 모든 컴팩트 코드였습니다.

Petr Olsak은 질문을 게시한 첫날 내에 자신의 공개 웹 페이지에서 사용할 수 있는 매크로를 직접 참조했습니다.

다음은 코드 샘플입니다. 페이지 색상을 지정하는 데 필요한 모든 것:

    \def\prepghook{\pdfliteral{q \bgcolor\space k -0.996264 0 0 0.996264 -72 72 cm
  \nopt{\hoffset} \nopt{\voffset} -\nopt{\pdfpagewidth} -\nopt{\pdfpageheight} re f Q}}
\def\nopt#1{\expandafter\ignorept\the#1}

\def\setbasecolor#1{#1\expandafter\setbasecolorA#1\pdfblackcolor}
\def\setbgcolor#1{\expandafter\setbasecolorA#1\bgcolor}
\def\setbasecolorA#1#2#3{\def#3{#2}}

예로서:

\setbasecolor\Yellow
\setbgcolor\Blue

관련 정보