tcolorbox : 지오메트리 패키지에 전달하기 전에 헤더 높이를 계산할 때 \ settototalheight 오류
Nov 28 2020
이 답변에 이어 다음이 컴파일되지 않고이 오류를 제공하는 이유를 알고 싶습니다.
! 정의되지 않은 제어 순서. \ tcb @ startbox ... x} {\ tcb @ w @ upper} \ tcb @ lua @ color {tcbcolupper} \ kvtcb @ fontup ...
\documentclass{exam}
\usepackage{graphicx}
\usepackage[xparse,breakable,raster,skins]{tcolorbox}
\usepackage{calc}
\newcommand{\exProgram}{3\textsuperscript{rd} Year}
\newcommand{\CourseName}{Engineering}
\newcommand*{\CourseCode}{311}
\newcommand*{\exMidFinal}{Midterm}
\newcommand*{\exSemester}{Fall}
\newcommand\headerBody{%
\begin{tcolorbox}[
raster multicolumn = 3
]
\begin{tcbitemize}[
raster force size=false,
raster columns=2,
valign=bottom,
raster equal skip = 0mm,
blankest,
]
\tcbitem[add to width = 2cm, halign = left,]
University\\ Faculty\\
\exProgram
\tcbitem[add to width =-2cm, halign = right] \includegraphics[height=20 mm]{example-image}
\end{tcbitemize}
\end{tcolorbox}%
%
\vspace{5pt}\hrule\vspace{5pt}%
%
\begin{tcolorbox}[left=0pt,right=0pt]
\exMidFinal\\
\exSemester
\end{tcolorbox}
\begin{tcolorbox}[before upper*=\centering]
Course Code: \textbf{\CourseCode}
\end{tcolorbox}
\begin{tcolorbox}[halign=right]
1\\
2
\end{tcolorbox}%
%
\vspace{5pt}\hrule\vspace{5pt}%
%
\begin{tcolorbox}[
before upper*=\centering, equal height group=A,
interior engine = standard,
colback = gray,
raster multicolumn = 3,
top = 5pt, bottom = 5pt
]
\textbf{\CourseName}
\end{tcolorbox}%
%
\vspace{5pt}\hrule\vspace{5pt}%
%
\begin{tcolorbox}[
before upper*=\centering,
equal height group=A,
raster multicolumn = 3,
]
This exam contains
\end{tcolorbox}%
}
\newcommand\headerContents{%
\begin{minipage}{\linewidth}%
\begin{tcbraster}[
raster columns=3, raster rows=3,
raster equal height = rows,
raster every box/.style={minimum for current equal height group = 8 mm},
valign=center,
raster equal skip = 0mm,
top = 0mm, bottom = 0mm,
blankest,
nobeforeafter,
]
\headerBody%
\vspace*{5pt}%
\hrule%
\end{tcbraster}%
\end{minipage}%
}
\newlength{\headerTotalHeight}
\settototalheight\headerTotalHeight{\headerContents}
\pagestyle{headandfoot}
\firstpageheader{}{\headerContents}{}
\usepackage[
a4paper,
includehead,
top = 0mm,
headheight = \headerTotalHeight,
showframe
]{geometry}
\begin{document}
text
\end{document}
답변
5 egreg Nov 28 2020 at 17:06
서문에있는 것을 측정해서는 안됩니다. 문서 시작시 글꼴 설정이 지연 될 수 있습니다.
올바른 장소에서 설정하십시오.
\AtBeginDocument{\settototalheight\headerTotalHeight{\headerContents}}
이제 이것이 왜 실행되었지만 지금은 실패하는지 알고 싶다면? tcolorbox.sty
가능한 경우 LuaTeX 색상 관리를 활용하기위한 의 변경 사항 이 도입되었습니다. 이를 위해서는 \tcb@lua@color
적절한 방식으로 정의해야 하며 패키지 작성자는 시작 문서에서 수행하도록 선택했습니다.
이는 \tcb@lua@color
오류가 발생한 문서 서문에서 의 의미를 아직 사용할 수 없음을 의미 합니다.