책에서 추상 환경 정의

책에서 추상 환경 정의

에 대한 추상 환경을 정의하고 싶습니다 \documentclass{book}. 따라서 관련 정의를 다음에서 복사했습니다 report.cls.여기내 서문에. 하지만 작동하지 않습니다. 문제가 어디에 있나요?

\documentclass[11pt, a4paper]{book}

\usepackage{lipsum}

\makeatletter
\if@titlepage
  \newenvironment{abstract}{%
      \titlepage
      \null\vfil
      \@beginparpenalty\@lowpenalty
      \begin{center}%
        \bfseries \abstractname
        \@endparpenalty\@M
      \end{center}}%
     {\par\vfil\null\endtitlepage}
\else
  \newenvironment{abstract}{%
      \if@twocolumn
        \section*{\abstractname}%
      \else
        \small
        \begin{center}%
          {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
        \end{center}%
        \quotation
      \fi}
      {\if@twocolumn\else\endquotation\fi}
\fi
\makeatother

\begin{document}

\begin{titlepage}
\begin{abstract}
  \lipsum[1]
\end{abstract}
\end{titlepage}

\chapter{This and That}

\lipsum[2]

\end{document}

나는 책 수업 시간에 초록을 작성하는 방법에 대한 솔루션이 웹에 많이 있다는 것을 알고 있습니다. 나는 환경을 기술적으로 정의하는 솔루션이 왜 작동하지 않는지에 대한 질문에 주로 관심이 있습니다.

답변1

환경에서 사용하고 계시지 \abstractname만 라텍스는 이를 모릅니다. 이것이 발생한 오류입니다. 따라서 이를 정의하면 문제가 해결됩니다. \abstractname다음과 같이 정의해야 합니다.

\newcommand\abstractname{Abstract}

귀하의 MWE는 다음과 같습니다:

\documentclass[11pt, a4paper]{book}

\usepackage{lipsum}
\newcommand\abstractname{Abstract}  %%% here
\makeatletter
\if@titlepage
  \newenvironment{abstract}{%
      \titlepage
      \null\vfil
      \@beginparpenalty\@lowpenalty
      \begin{center}%
        \bfseries \abstractname
        \@endparpenalty\@M
      \end{center}}%
     {\par\vfil\null\endtitlepage}
\else
  \newenvironment{abstract}{%
      \if@twocolumn
        \section*{\abstractname}%
      \else
        \small
        \begin{center}%
          {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
        \end{center}%
        \quotation
      \fi}
      {\if@twocolumn\else\endquotation\fi}
\fi
\makeatother

\begin{document}

\begin{titlepage}
\begin{abstract}
  \lipsum[1]
\end{abstract}
\end{titlepage}

\chapter{This and That}

\lipsum[2]

\end{document}

답변2

\newenvironment{abstract}[1]{%
\begin{center}\normalfont\textbf{Abstract}\end{center}
\begin{quotation} #1 \end{quotation}
}{%
\vspace{1cm}
}

나에게는 합리적으로 잘 작동합니다. 로 전화하시면 됩니다 \abstract{}.

예제 출력의 스크린샷

관련 정보