이전에 이러한 조판 문제를 본 적이 있지만 해결책을 찾을 수 없습니다. 라텍스는 상당히 반직관적일 수 있습니다. 내가 하려는 것은 약간 수정된 테이블 내에서 작동하는 \panel{} 헤더 유형 매크로를 만드는 것뿐입니다. \panel은 이전 표의 간격을 늘리고 다음 표의 간격을 줄여야 합니다.
문제를 보여주기 위해 예제를 제거했습니다. 예상되는 작업을 수행하는 \panel 매크로를 어떻게 정의합니까?
\documentclass{article}
\usepackage{color}
\usepackage{booktabs}
\newsavebox{\selvesteboxtwo}
\newenvironment{colboxfigtbl}
{
\begin{lrbox}{\selvesteboxtwo}%
\begin{minipage}{\dimexpr\columnwidth-2\fboxsep-4em\relax}}
{
\end{minipage}\end{lrbox}%
\begin{center}%
\fcolorbox{blue}{yellow}{\usebox{\selvesteboxtwo}}%%real life do more
\end{center}
}
\newenvironment{newtable}[1][]{%
\begin{table}%
\begin{center}%
\begin{colboxfigtbl}
}{%
\end{colboxfigtbl}%
\end{center}%
\end{table}
}
\newcommand{\panel}[2]{%
\par\bigskip%
\begin{center} \textbf{Panel #1:} #2 \end{center}%
\par\vspace*{-1.5\baselineskip}%
}
\begin{document}
\begin{newtable}
\panel{A}{This is a bad panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\panel{B}{This is a better panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\panel{C}{This is a better panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\end{newtable}
\end{document}
답변1
환경은 콘텐츠 위와 아래에 공간을 추가하는 경향이 있기 때문에 환경을 함께 중첩하는 것이 까다로울 수 있습니다. 게다가 일부 환경에서는 중첩된 환경이 삽입한 추가 공간을 교묘하게 빼려고 합니다. 귀하와 같은 경우 대답은 간단합니다. \newtable
이미 환경을 호출한 환경 에서 중첩된 환경을 환경 없이 동일한 효과를 달성하는 매크로 형식인 로 table
바꿉니다 .\begin{center}...\end{center}
\centering...
\documentclass{article}
\usepackage{color}
\usepackage{booktabs}
\newsavebox{\selvesteboxtwo}
\newenvironment{colboxfigtbl}
{
\begin{lrbox}{\selvesteboxtwo}%
\begin{minipage}{\dimexpr\columnwidth-2\fboxsep-4em\relax}}
{
\end{minipage}\end{lrbox}%
\begin{center}%
\fcolorbox{blue}{yellow}{\usebox{\selvesteboxtwo}}%%real life do more
\end{center}
}
\newenvironment{newtable}[1][]{%
\begin{table}%
\centering%\begin{center}%
\begin{colboxfigtbl}
}{%
\end{colboxfigtbl}%
% \end{center}%
\end{table}
}
\newcommand{\panel}[2]{%
\par\bigskip%
\begin{center} \textbf{Panel #1:} #2 \end{center}%
\par\vspace*{-1.5\baselineskip}%
}
\begin{document}
\begin{newtable}
\panel{A}{This is a bad panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\panel{B}{This is a better panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\panel{C}{This is a better panel}
\begin{center}\begin{tabular}{l r} \toprule A & B \\ \bottomrule \end{tabular} \end{center}
\end{newtable}
\end{document}