KTUG 한국 텍 사용자 그룹

Menu

KTUG :: Q&A 마당 › [oblivoir] 섹션 제목 길이에 맞춰 밑줄 생성

Kriss | 2018.04.16 23:28:40 | 메뉴 건너뛰기 쓰기

기초 지식 없이 구글링만으로 이렇게 저렇게 만들다보니 어려움이 많네요. 도움을 요청드립니다.

 

섹션 제목 길이에 맞춰 밑줄 생성하는 secheadtyle을 제작하는 과정에서 문제가 생겼습니다.
제 코드의 오류를 해결해주셔도 좋고, 다른 해결 방안을 제시해주셔도 좋습니다.

 

이상하게도 제 컴퓨터에선 첨부가 되지 않아 코드를 첨부합니다.

 

미리 감사드립니다.

 

\documentclass{oblivoir}
\usepackage{ulem,color}

%%%%% \aeunderline으로 섹션넘버에 밑줄 긋기
\makeatletter
\newlength\ae@tmp@length
\newcommand\aeunderline[2][]{%%
  \settowidth\ae@tmp@length{#2}%%
  \makebox[-.5pt][l]{#2}%%
  \hspace{0pt}%%
  \rule[\dimexpr-0.25ex-4.4pt]{\dimexpr\ae@tmp@length+#1+.5pt\relax}{2pt}}

  
  \newcommand*{\getlength}[1]{\strip@pt#1}

\makeatother

%%%% \tuline으로 섹션 헤딩에 밑줄 긋기

\newcommand{\tuline}[1]{%
    \renewcommand{\ULthickness}{2pt}%
        \renewcommand{\ULdepth}{6pt}%
       \uline{#1}%
    \renewcommand{\ULthickness}{.4pt}% Resetting to ulem default
        \renewcommand{\ULdepth}{(\dimexpr\maxdimen\relax}%
}

%%%%% secNumSense를 이용해 숫자있는 섹션 / 숫자 없는 섹션 구별하기
\def\secNumSense{X}
\newcommand{\normalsec}[1]{\raggedright\bfseries\sffamily\Large\color{cyan}\if O\secNumSense \tuline{#1} \else #1 \fi}
\setsechook{
    \setsecheadstyle{\normalsec}
    \setsubsecheadstyle{\sffamily\bfseries\color{black}}
    \setsubsubsecheadstyle{\sffamily\bfseries\color{cyan}}
    \setsecnumformat{\color{black}\aeunderline{섹션\hspace{0.5mm}\arabic{part}.\arabic{chapter}.\arabic{section}}~}
}


\begin{document}
\chapter{더미 챕터}
\def\secNumSense{X}
\setsecnumdepth{chapter}
\section{숫자 없는 섹션 1}
$\vec{AP} \cdot \vec{BQ}$의 최대최소를 알아봅시다.


\section{숫자 없는 섹션 2}
$\vec{AP} \cdot \vec{BQ}$의 최대최소를 알아봅세그려.

\def\secNumSense{O}
\setsecnumdepth{section}
\section{숫자 있는 섹션 첫째}
$\vec{AP} \cdot \vec{BQ}$의 최대최소를 알아볼까요?

\section{숫자 있는 섹션 둘째}
$\vec{AP} \cdot \vec{BQ}$의 최대최소를 알아봅시다.

\section{숫자 있는 섹션 셋째}
보시다시피 섹션명 맨 끝자인 '째'가 생략되고, 앞의 마지막 2글자가 붙어버리게 되어요.

\section{숫자 있는 섹션의 의도된 출력은...}
이렇게 섹션길이에 따라 늘어나는 밑줄을 만드려고 했습니다만 이상한 결과물이 나와 고통스럽습니다.

\end{document}

댓글 [8]

댓글 쓰기

목록

KTUG 한국 텍 사용자 그룹