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>처럼 입력하시면 좋습니다.
toc indentation과 label ref관련 질문
2014.08.27 15:47
안녕하세요.
현재 oblivoir로 문서작업을 하나 하고 있는데 질문이 있어서요.
1. 제가 ToC 설정을 바꾸려고 하는데, section 의 indentation이 제대로 안되네요.
제1챕터
제1섹션
제2섹션
제2챕터
제1섹션
이렇게 만들고 싶은데,
제1챕터
제1섹션
제2섹션
제2챕터
제1섹션
이렇게만 나오네요.
\setlength\cftsecindent\ 나 비슷한 함수들을 계속 써봤는데, 섹션의 타이틀 자체가 밀리지가 않아서요 ㅠ
어떤 함수를 써야 할까요?
2. label을 ref함수로 레퍼할때 네이밍을 바꾸는 함수가 혹시 있나요?
예를들어
\renewcommand\thesubsection{\arabic{subsection}.}
\subsection{제목}
\label{라벨}
~~~\ref{라벨}~~~
과 같이 쓰면 ~~~1.~~~ 와 같이 나오는데, ref했을때만 ~~~제1번~~~과 같이 다르게 보이게 할 수 있을까요??
감사합니다.
댓글 5
-
nanim
2014.08.27 20:51
-
Progress
2014.08.27 21:08
nanim께서 답을 올려주셨네요.
저도 잘 이해한 건지 모르겠지만, 나름대로 해본 것을 (아까워서) 첨부합니다.
% test_oblivoir.tex
\documentclass[a4paper,nanum,chapter,tocentry]{oblivoir}
% tocentry의 설명에 대해서는 oblivoir 설명서 참조. 아래에서 cftsetindetns 따위로 사용자가 간격을 직접 지정하는 경우에는 굳이 'tocentry' 옵션을 쓰지 않아도 되지 않을까 추측(?)함.
\usepackage{jiwonlipsum}
\cftsetindents{section}{3.2em}{3.0em}
% toc에서 섹션 앞에 들여쓸 공간 3.2em, 섹션 번호(1.1, 1.2, ...)가 식자될 너비
\cftsetindents{subsection}{6.2em}{3.0em}
% 서브섹션 앞에 들여쓸 공간 6.2em(=3.2em+3.0em). 보통 상위 항목의 들여쓰기 길이 + 번호너비를 더해주면 된다. 뒤의 3.0em은 서브섹션 번호(1.1.1, 1.1.2, ...)가 식자될 너비
\hypersetup{pdfborder={0 0 0}}
% 하이퍼링크의 빨간 테두리를 죽인다.
\newcommand\sectionref[1]{제\ref{#1}\sectionname}
% 이런 식으로 \ref 앞에 '제'와 '절'을 찍어주도록 만든다. \sectionname은 한글로 '절'을 의미한다. \renewcommand로 다른 단어로 바꿀 수 있다.
\begin{document}
\pagestyle{hangul}
\frontmatter
\begin{verbatim}
\pref{sec:first_section} \ref{sec:first_section}\sectionname을 참고하라.
\pageref{sec:second_section}\pagename \Sref{sec:second_section}\를 참고하라.
\sectionref{sec:first_section}\와 \sectionref{sec:second_section}\을 참고하라.
\sectionref{sec:first_section}\과 \sectionref{sec:second_section}\를 참고하라.
\end{verbatim}
\pref{sec:first_section} \ref{sec:first_section}\sectionname을 참고하라.
\pageref{sec:second_section}\pagename \Sref{sec:second_section}\를 참고하라.
\sectionref{sec:first_section}\와 \sectionref{sec:second_section}\을 참고하라.
\sectionref{sec:first_section}\과 \sectionref{sec:second_section}\를 참고하라.
\tableofcontents
\mainmatter
\chapter{일야구도하기}
\section{섹션 하나}\label{sec:first_section}
\jiwon[1]
\subsection{서브섹션 하나}
\jiwon[1]
\subsection{서브섹션 둘}
\jiwon[1]
\section{섹션 둘}\label{sec:second_section}
\jiwon[2]
\subsection{서브섹션 셋}
\jiwon[2]
\subsection{서브섹션 넷}
\jiwon[2]
...
(이하 생략)
===
* 질문을 하실 때는 최소한의 샘플을 올려주시는 게 피차 좋습니다.
-
gongguri
2014.08.27 22:43
아 두 분 다 빠르고 친절하신 답변 정말 너무너무 감사드립니다.
제가 너무 성의없게 질문을 올렸었네요. 죄송합니다.
2번 문제는 말씀해 주신대로 하니 정말 잘 해결이 되었는데요, 1번에 section indentation이 아직도 약간 말썽이네요.
\cftsetindents 함수만 쓰면
! LaTeX Error: Missing \begin{document}. 이 에러가 뜨는 걸로 보아 코드 문제는 아닌 것 같고 환경 문제인 것 같습니다..Progress님께서 올려주신 test 텍스 파일도 같은 에러가 뜨네요.
그래서 kotex 버전도 최신버전으로 깔아보고 부수파일 제거도 해보고 했는데 문제가 계속 발생하네요. 제가 주로 논문 template만 써서 oblivoir 클래스가 생소해서 그런데 혹시 다른 설정을 해주어야 하는 것이 있는 것인지요?
혹시 몰라 샘플 코드와 에러 라인을 첨부합니다.
==============================
\documentclass[a4papar, nanum, 12pt]{oblivoir}
\usepackage[pdftex]{graphicx}
\usepackage{chngcntr}
\usepackage{tocloft}
\usepackage{titlesec}
\titleformat{\chapter}
{\normalfont\LARGE\bfseries}{\thechapter}{1em}{}
\titlespacing*{\chapter}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
\titleformat*{\subsection}{\small}
\titlespacing*{\subsection}{20pt}{0em}{0em}
\titleformat*{\subsubsection}{\small}
\titlespacing*{\subsubsection}{30pt}{0em}{0em}
\kscntformat{chapter}{제 }{장}
\kscntformat{section}{제 }{조}
\kscntformat{subsection}{}{}
\renewcommand\hchaptertitlehead{\thechapter}
\setlength{\cftchapternumwidth}{3.5em}
\cftsetindents{section}{3.2em}{3.0em}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{1}
\title{테스트문서}
\date{2014년 7월 15일}
\begin{document}
\maketitle
\tableofcontents*
\chapter{1챕터}
\section{1-1섹션}
\section{1-2섹션}
\chapter{2챕터}
\section{2-1섹션}
\section{2-2섹션}
\end{document}
============================
로그~
Package hyperref Message: Driver: hpdftex.
(c:/usr/texlive/2013/texmf-dist/tex/latex/hyperref/hpdftex.def
(c:/usr/texlive/2013/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(c:/usr/texlive/2013/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/ob-toclo
f.sty)
(c:/usr/texlive/2013/texmf-dist/tex/latex/kotex-oblivoir/memhangul-ucs/ob-korea
nappendix.sty))
HANGUL DRIVER: dhucs running
)) (c:/usr/texlive/2013/texmf-dist/tex/latex/graphics/graphicx.sty
(c:/usr/texlive/2013/texmf-dist/tex/latex/graphics/graphics.sty
(c:/usr/texlive/2013/texmf-dist/tex/latex/graphics/trig.sty)
(c:/usr/texlive/2013/texmf-dist/tex/latex/latexconfig/graphics.cfg)
(c:/usr/texlive/2013/texmf-dist/tex/latex/pdftex-def/pdftex.def)))
(c:/usr/texlive/2013/texmf-dist/tex/latex/titlesec/titlesec.sty)
(c:/usr/texlive/2013/texmf-dist/tex/latex/nanumtype1/lucnanummj.fd)
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.23 \cftsetindents{section}{3.2em}{3.0em}
?
===========================
나름 찾아본다고 했는데, 아직 어디가 문제인지 모르겠네요.
계속 질문드려 죄송합니다..
-
nanim
2014.08.28 01:56
1. class 옵션에 chapter가 없네요. \chapter 명령을 쓰려면 \documentclass[..., chapter]{oblivoir}와 같이 chapter 옵션을 주십시오.
2. TeX Live 2013의 oblivoir에서 memoir와의 버전 충돌로 \cftsetindents 명령이 잘 듣지 않는 버그가 있었던 적이 있습니다. 이 당시에는 \cftsectionindent를 \renewcommand하여 피해갈 수밖에 없었습니다. 이 문제는 TeX Live 2014에서 수정되었으므로 새로운 배포판을 설치하시기 바랍니다. (잠시 테스트만 해보시려면 TnXTeX.)
3. 그런데 chngcntr이나 tocloft는 별도로 usepackage할 필요 없어보이네요. memoir에 다 들어가 있는 것인 듯. titleformat을 memoir 방식을 따르지 않는 것은 저자의 선택이라고 생각합니다만.
-
gongguri
2014.08.28 15:32
으아 말씀해주신대로 하니까 해결되었어요!! 정말 감사합니다. 공부를 더 열심히 해야겠어요! 감사합니다~
1: 재현이 불가능했습니다. 저는 \cftsectionindent만 가지고 다음과 같은 결과를 얻었습니다.
제가 이런저런 예제를 만들어보면서 어찌해야 이런 결과가 나올지를 시험해보는 건 시간낭비니까 샘플을 하나 첨부해주십시오.
2. \thesubsection을 바꾸지 마십시오. \thesubsection에 마침표를 붙여버리면 \ref하였을 때 항상 마침표가 붙습니다.
\counterwithout{subsection}{section} %% subsection의 secnum을 1.1.1 꼴에서 그냥 1로 바꾸는 방법\setsecnumformat{\csname #1secnumformat\endcsname \quad}
\newcommand*\sectionsecnumformat{\thesection}
\newcommand*\subsectionsecnumformat{\thesubsection.}
그런 다음 \mysecref를 하나 정의합니다.
\newcommand*\mysecref[1]{제~\ref{#1}~번}
====
memoir 매뉴얼의 해당 항목을 잘 읽어보시기 바랍니다.