Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
[oblivoir] 섹션 제목 길이에 맞춰 밑줄 생성
2018.04.16 23:28
기초 지식 없이 구글링만으로 이렇게 저렇게 만들다보니 어려움이 많네요. 도움을 요청드립니다.
섹션 제목 길이에 맞춰 밑줄 생성하는 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
-
yihoze
2018.04.17 19:17
-
Kriss
2018.04.17 19:19
그러신가요? 전 xelatex으로 컴파일했는데 사진과 같이 출력됩니다 ㅜㅜ
숫자 있는 섹션의 맨 마지막 두글자가 '지난 섹션 내용의 마지막 두글자를 가져와서' 새겨집니다.
-
yihoze
2018.04.18 08:49
희한하게도 lualatex으로 돌리면 제대로 나옵니다.
ulem 패키지는 xetexko와 안 맞는 데가 있어서 그것을 해결하기 위해 무언가 정의되어 있는 것으로 알고 있습니다. 두 패키지 모두 최근에 업데이트된 것 같지 않은데, 무엇이 영향을 주는지 모르겠습니다.
-
Kriss
2018.04.18 10:11
xelatex과 ulem 또는 그 외 어딘가에서 충돌이 있을 수 있겠군요..
당장 xelatex에서 원하는 결과물에 거의 근접하는 결과물을 얻기 위해 쓴 트릭은 다음과 같습니다.
\section{하고싶은제목 } %% 공백한칸넣기
공백을 한칸 넣으니 앞 두글자를 가져오지 않으면서 원하는 결과물이 출력은 되지만
wordspace만큼 밑줄이 더 그어져서 아쉬웠습니다.\section{하고싶은제목\,} %% thinspace 한칸 넣기
공백 대신 thinspace를 강제로 넣으니 앞의 두글자를 가져오는 일이 없으며,
밑줄도 조금만 그어져서 거의 원하는 결과물이 되었습니다.당장은 이렇게 써야겠습니다만
그리 길지도, 복잡하지도 않은 코드인데 어디에서 엔진에 따른 차이가 벌어진 것인지 알아내기에는 제 능력밖이네요 ㅜㅜ시간 내어 답변해주셔서 감사드립니다.
-
DohyunKim
2018.04.18 21:34
https://goo.gl/bypwER
xetexko의 버그입니다.
지금 TL2017은 프리즈되었고 조만간 TL2018이 릴리스될 예정이라서 TeX Live에 들어가는 데는 시간이 좀 걸릴 것으로 봅니다.
당분간은 위에 링크된 url을 내려받아서 기존의 xetexko-space.sty 파일을 덮어쓴 후 사용하십시오.
-
Kriss
2018.04.19 11:33
말씀하신대로 /usr/local/texlive/2017/texmf-dist/tex/xetex/xetexko/xetexko-space.sty
이 파일을 수정하니 정상적으로 잘 작동합니다. 감사합니다^^
-
yihoze
2018.04.19 15:10
개인적인 일이 아니고 아니고 의뢰를 받아 만드시는 문서로 보입니다. 많은 사람들이 요란한 디자인을 선호한다는 점을 감안하면 이해되지 않는 바가 아니나, 개인적인 감상을 허용하신다면, 절 제목을 저렇게 만드는 것이 좋아 보이지 않습니다. 절 제목이 쉽게 식별되도록 이미
1) 다른 폰트 (산세리프)를 사용하고
2) 크고 굵은 폰트를 사용하고
3) 앞뒤로 간격을 주었는데,더하여
4) 번호와 제목을 서로 다른 색으로 나타내고
5) 밑줄을 (그것도 굵게) 추가했으니너무 요란해 보입니다.
색을 빼고 밑줄을 추가하거나, 색을 쓰되 밑줄을 빼는 것이 더 낫지 싶습니다. 그리고 밑줄은 판면만큼 (textwidth) 꽉 채우는 게 더 가지런해 보일 것입니다.
패키지 매뉴얼들을 보면 (무엇이 가능한지 보여주기 위해 의도적으로 다양하게 표현한 memoir 매뉴얼을 예외로 하고) 절 제목에도 세리프 폰트를 사용합니다.
췌언을 더하자면, \secNumSense의 정의는 아름답지 않습니다. 코드가 깔끔해야 사용하기도, 재정의하기도 쉽습니다. 이것도 위의 넷째, 다섯째 요건을 충족하려다 보니 생긴 것입니다. 정 저 장식들을 포기할 수 없다면 \Section*{번호 없는}, \Section*{번호 있는}과 같이 쓰이는 매크로의 정의를 고려해 보시기 바랍니다.
-
Kriss
2018.04.19 15:47
1. 말씀하신 부분은 저도 공감하고, 들어주신 근거 또한 충분히 납득이 됩니다.
다만 지금 업무상 디자인은 제가 건드릴 수 있는 영역이 아니라 인디자인으로 받은 디자인 샘플을 그대로 따다 옮길 뿐이라서 어쩔 수 없을 것 같습니다 ^^;;2. 당장은 짧은 시간 내에 원하는 결과물만을 얻기 위해 저렇게 처리했지만, 탈고가 끝나고 여유로울 때 조언주신 바에 따라 코드를 다시금 재정비해보도록 하겠습니다. 조언 감사합니다.
컴파일해 보니, 원하시는 대로 나오는 것 같은데요.