상자 아래에 페이지 번호를 사용하여 선택한 페이지의 텍스트 주위에 상자를 넣는 쉬운 방법이 있습니까?

상자 아래에 페이지 번호를 사용하여 선택한 페이지의 텍스트 주위에 상자를 넣는 쉬운 방법이 있습니까?

첨부된 예에서와 같이 상자가 페이지의 전체 길이를 확장하지만 상자의 아래쪽 가장자리가 페이지 번호 위에 있는 전체 페이지 또는 페이지 선택 주위에 상자를 만들 수 있기를 원합니다. 해당 환경의 모든 페이지가 상자로 표시되도록 환경으로 정의할 수 있다면 이상적입니다. 이 환경은 문서의 나머지 부분에서 핵심 요약을 분리하는 데 사용될 수 있습니다.

어떤 힌트나 제안이라도 주시면 감사하겠습니다.

박스형 페이지

답변1

와 .tikzeso-pic저는 페이지에 프레임을 추가하고 프레임을 제거하는 두 가지 명령 \addframe을 정의했습니다.\removeframe

MWE:

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\usepackage{eso-pic}

\newcommand{\addframe}{%
  \AddToShipoutPicture{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt] 
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
  }%
}

\newcommand{\removeframe}{\ClearShipoutPicture}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\removeframe
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

산출:

여기에 이미지 설명을 입력하세요

원하는 대로 매개변수( 1pt두께 및 텍스트와의 거리)를 조정할 수 있습니다.5mm

\addframe또는 다음과 같이 정의할 수 있습니다.

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\addframe다음 MWE와 같이 프레임이 필요한 모든 페이지에서 사용하십시오 .

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

답변2

mdframed이를 위해 패키지를 사용할 수 있습니다 . mdframed매우 사용자 정의가 가능하며 배경색과 훨씬 더 많은 것을 정의할 수 있습니다.

동일한 스타일을 사용할 때마다 상자가 표시되도록 하려면 newmdenv일부 스타일 옵션을 설정하고 로 새 환경을 정의하는 것이 가장 좋습니다. 이 경우 상자 주위에 단일 프레임이 있는 표준이 사용됩니다. 두 번째 예에서 볼 수 있듯이 나중에 환경에 옵션을 제공하여 로컬로 설정을 무시할 수 있습니다.

\documentclass{article}
\usepackage{mdframed}
\newmdenv{boxed}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{boxed}
\blindtext

\blindtext
\begin{description}
    \item [something] \blindtext
    \item [something else] \blindtext[2]
\end{description}
\end{boxed}

\blindtext

\begin{boxed}[backgroundcolor=yellow]
    \blindtext
\end{boxed}
\end{document}

관련 정보