\section을 \parfillskip의 영향을 받지 않게 만들기

\section을 \parfillskip의 영향을 받지 않게 만들기

단락의 마지막 줄에 미망인 단어가 나오지 않게 하려면 다음을 조정합니다 parfillskip.

\parfillskip 0pt plus 0.75\textwidth

이렇게 하면 더 멋진 단락이 제공되지만 아래에서 볼 수 있듯이 섹션 제목이 약간 늘어납니다. 첫 번째 제목은 기본값이고 parfillskip두 번째 제목은 다음과 같습니다 0pt plus 0.75\textwidth.

parfillskip단락에 대한 설정은 유지하고 제목에 대한 설정은 유지하지 않으려면 어떻게 해야 합니까 ?

이 코드는 텍스트와 제목의 효과를 보여줍니다(시사):

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\section{This is a section title}
\lipsum[1]
\section{This is a section title}

% Fill the last line of paragraphs for minimum 25%
\parfillskip 0pt plus 0.75\textwidth
\section{This is a section title}
\lipsum[1]
\end{document}

답변1

섹션 제목은 로 조판되어 \@sect관련 부분을 그룹으로 묶습니다. 마지막에는 \@@par기본 요소인 을 추가합니다 \par.

따라서 우리는 \@sect(번호가 있는 섹션의 경우) 및 \@ssect(번호가 없는 섹션의 경우) 안전하게 패치할 수 있습니다.

\documentclass{article}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@sect}{\begingroup}{\begingroup\parfillskip=0pt plus 1fil\relax}{}{}
\patchcmd{\@ssect}{\begingroup}{\begingroup\parfillskip=0pt plus 1fil\relax}{}{}
\makeatother

\usepackage{lipsum}
\begin{document}
\section{This is a section title}
\lipsum[1]

% Fill the last line of paragraphs for minimum 25%
\parfillskip 0pt plus 0.75\textwidth
\section{This is a section title}
\lipsum[1]
\end{document}

여기에 이미지 설명을 입력하세요

답변2

수업 의 경우 memoir서문에 다음을 추가하면 충분합니다.

\setsecheadstyle{\Large\parfillskip=0pt plus 1fil}

답변3

섹션 제목은 어떤 경우에도 오른쪽 정렬 여백으로 형식화되어서는 안 되기 때문에 - 기본 문서 클래스가 정확히 그렇게 하고 있음에도 불구하고 - \raggedright섹션 정의에서 선언해야 합니다. 일단 그렇게 하면 그건 \parfillskip아무 상관이 없습니다.

원하는 대로 단면을 정의합니다.

  • 회고록이나 코마 또는 기타 좋은 문서 클래스로;
  • titlesec 등의 패키지를 사용합니다.
  • 다음을 사용하여 표준 문서 클래스를 구분합니다.\@startsection
  • 또는 다음과 같은 가장 해킹적인 패치 명령\@sect

예를 들어 기본 "article" 클래스는 다음을 사용합니다.

\newcommand\section{\@startsection {section}{1}{\z@}%
                               {-3.5ex \@plus -1ex \@minus -.2ex}%
                               {2.3ex \@plus.2ex}%
                               {\normalfont\Large\bfseries}}

따라서 문서 설정에는 글꼴 스타일 인수에 삽입된 \renewcommand항목이 포함될 수 있습니다.\raggedright

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                               {-3.5ex \@plus -1ex \@minus -.2ex}%
                               {2.3ex \@plus.2ex}%
                               {\normalfont\raggedright\Large\bfseries}}

관련 정보