
나는 다음과 같은 종류의 '패딩 배열'을 여러 번 사용하고 있습니다.
\setlength{\fboxrule}{0pt}
\setlength{\fboxsep}{3pt}
\fbox{
\ensuremath{
\begin{array}{|l|l|}
\hline
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\hline
\end{array}
}
}
예를 들어 다음과 같이 쓸 수 있기를 바랍니다.
\begin{DRS}
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRS}
(또는 환경 대신 명령을 사용하여 동일) 그러나 이를 설정하는 깔끔한 방법을 모르겠습니다. 문제는 fbox가 명령이고 환경 배열이므로 이 둘을 혼합하는 올바른 방법이 확실하지 않다는 것입니다. 예를 들어 Environ 패키지(이 주제를 검색하여 찾은)를 사용하여 함께 해킹할 수도 있지만 이를 수행하는 올바른 방법을 아는 것이 좋을 것입니다.
감사해요!
편집: 이것은 내가 생성하는 이미지 종류입니다(중첩된 DRS를 사용하여).
답변1
패딩이 필요하면 명시적으로 요청하세요.
\documentclass{article}
\newif\ifDRSmath
\newenvironment{DRS}
{\relax\ifmmode\global\DRSmathtrue\else$\fi
\kern3pt\begin{array}{|l|l|}
\noalign{\kern3pt}
\hline\mathstrut}
{\hline
\noalign{\kern3pt}
\end{array}\kern3pt
\ifDRSmath\global\DRSmathfalse\else$\fi}
\begin{document}
\begin{DRS}
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRS}
\begin{DRS}
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRS}
\end{document}
텍스트 모드와 수학 모드 모두에서 환경을 사용하려면 조건이 필요합니다. 두 모드 모두에서 작동합니다. 처음에는 수학 모드를 확인하고 마지막에는 수학 모드만 확인하며 \ifDRSmath
이 트릭은 부적절하게 실행되는 것을 방지합니다 $
.
답변2
일반 \newenvironment
(아래 환경과 같이 DRSX
) 또는패키지environ
(환경에서와 마찬가지로 DRS
):
\fbox{}
정상적으로 \hline
작업을 수행하므로 사용할 필요가 없습니다 .
암호:
\documentclass{article}
\usepackage{environ}
\NewEnviron{DRS}{%
\setlength{\fboxrule}{0pt}
\setlength{\fboxsep}{3pt}
$\begin{array}{|l|l|}%
\hline
\BODY%
\hline
\end{array}$%
}
\newenvironment{DRSX}{%
\setlength{\fboxrule}{0pt}
\setlength{\fboxsep}{3pt}
\begin{math}\begin{array}{|l|l|}%
\hline
}{%
\hline
\end{array}\end{math}%
}
\begin{document}
\begin{DRS}
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRS}
\begin{DRSX}
A & B\\
C & D\\
\vdots & \vdots \\
E & F\\
\end{DRSX}
\end{document}