\begin{enumerate}[a]
Latex Beamer에서 "a... b... c..." 또는 \begin{enumerate}[i]
"i... ii... iii..." 대신 "1" 대신에 사용자 정의 레이블이 있는 열거형이 있는 경우 . ... 2. ... 3. ..."인 경우 왼쪽 여백이 더 작아서 다른 슬라이드와 일치하지 않는 것처럼 보입니다.
예:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{enumerate}
\item normal margin
\end{enumerate}
\begin{enumerate}[i]
\item smaller margin
\end{enumerate}
\begin{enumerate}[a]
\item much smaller margin
\end{enumerate}
\begin{enumerate}
\item[a] normal margin, but manual labels
\end{enumerate}
\end{frame}
\end{document}
item[a]
등 을 사용하면 item[b]
여백이 정확하지만 분명한 이유로 이것도 완벽하지 않습니다. 이 문제를 해결할 수 있는 방법이 있나요?
업데이트: 문제는 클래스에만 국한된 것이 아니라 다음과 같은 동작이 발생하는 패키지(에서 사용되거나 복사된 패키지 ) beamer
에 국한된 것 같습니다.enumerate
beamer
\documentclass{article}
\usepackage{enumerate}
그래도 나는 주로 beamer
.
답변1
들여쓰기를 재설정하는 줄을 주석 처리하면 됩니다.
\documentclass{beamer}
\makeatletter
\def\beamer@@@enum@[#1]{% partly copied from enumerate.sty
\@enLab{}\let\@enThe\@enQmark
\@enloop#1\@enum@
\ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
\def\insertenumlabel{\the\@enLab}
\def\beamer@enumtempl{enumerate mini template}%
\expandafter\let\csname the\@enumctr\endcsname\@enThe
% \csname c@\@enumctr\endcsname7
% \expandafter\settowidth
% \csname leftmargin\romannumeral\@enumdepth\endcsname
% {\the\@enLab\hspace{\labelsep}}%
\beamer@enum@}
\makeatother
\begin{document}
\begin{frame}
\begin{enumerate}
\item normal margin
\end{enumerate}
\begin{enumerate}[i]
\item smaller margin
\end{enumerate}
\begin{enumerate}[a]
\item much smaller margin
\end{enumerate}
\begin{enumerate}
\item[a] normal margin, but manual labels
\end{enumerate}
\end{frame}
\end{document}
답변2
을 사용하는 것과 동일한 여백을 얻으려면 \item[a]
간단히 자신만의 열거 항목을 정의하면 됩니다.\setbeamertemplate{enumerate item}{\alph{enumi}}
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{enumerate}
\item normal margin
\end{enumerate}
\begin{enumerate}[i]
\item smaller margin
\end{enumerate}
{
\setbeamertemplate{enumerate item}{\alph{enumi}}
\begin{enumerate}
\item much smaller margin
\end{enumerate}
}
\begin{enumerate}
\item[a] normal margin, but manual labels
\end{enumerate}
\end{frame}
\end{document}
답변3
내가 발견한 문제를 해결/피하는 또 다른 다소 해킹적인 방법은 패딩을 [a.]
or [i.]
매개변수에 직접 삽입하는 것입니다.
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{enumerate}
\item normal margin
\end{enumerate}
\begin{enumerate}[~~a.]
\item normal margin (almost)
\end{enumerate}
\end{frame}
\end{document}
물론, 이는 서로 다른 열거형을 완벽하게 정렬하지 않으며 사용되는 글꼴에 따라 달라질 수도 있습니다. 아마도 인쇄된 문서에서는 이것을 사용하지 않을 것입니다. 그러나 일부 슬라이드의 경우에는 충분할 수 있습니다. 예를 들어 (다소 더 정밀하게) 동일하게 작동합니다 [\hspace{8pt}a.]
.