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>처럼 입력하시면 좋습니다.
Author 숫자 자동으로 세기
2015.12.22 17:57
다중저자를 입력하는 코드를 만들고 있습니다.
\setcounter{maximumauthor}{3}
\author{Kim 1}
\author{Kim 2}
\author{Kim 3}
라 입력하면
Kim 1, Kim 2, and Kim 3 가 나오고
\setcounter{maximumauthor}{2}
\author{Kim 1}
\author{Kim 2}
라 입력하면
Kim 1 and Kim 2
가 나옵니다.
우선 모양은 제가 원하는 대로 나오는데, maximumauthor의 카운터를 자동으로 지정하게 만들고 싶습니다.
어떻게 보완을 할 수 있는 방법이 없을까요?
\documentclass{article}
\usepackage{ifthen}
%%%%%%%%%%%%%%%%%%%%%%%%%% Coding %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatletter
\newcounter{authors}
\newcounter{maximumauthor}
\newcommand{\@authors}{}
\renewcommand{\author}[1]{\stepcounter{authors}
\ifthenelse{\equal{\value{authors}}{1}}{%
\g@addto@macro{\@authors}{#1}
}{%
\ifthenelse{\value{authors}<\value{maximumauthor}}{%
\g@addto@macro{\@authors}{, #1}
}{%
\ifthenelse{\equal{\value{maximumauthor}}{2}}{
\g@addto@macro{\@authors}{and #1}
}{%
\g@addto@macro{\@authors}{, and #1}
}
}
}
}
\newcommand{\printauthor}{\@authors}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\makeatother
\setcounter{maximumauthor}{3}
\author{Kim 1}
\author{Kim 2}
\author{Kim 3}
\begin{document}
\printauthor
\end{document}
댓글 4
-
yihoze
2015.12.22 18:15
-
하늘연
2015.12.23 06:30
코드를 읽는데부터 장애가 있었습니다.
공부의 부족으로... -
DohyunKim
2015.12.23 04:10
\newcommand\@authors{}
\renewcommand\author[1]{%
\g@addto@macro\@authors{{#1}}%
}
\newcommand\printauthor{%
\let\next\relax
\expandafter\print@author\@authors\@nil\relax\relax
}
\newcommand\print@author[3]{%
\ifx\@nil#1%
\let\next\relax
\else
\ifx\@nil#2%
#1%
\let\next\relax
\else
\ifx\@nil#3%
#1\ifx\next\relax\else,\fi\ and #2%
\let\next\relax
\else
#1, %
\def\next{\print@author{#2}{#3}}%
\fi
\fi
\fi
\next
}빠르고 안정적으로 동작하는 코드입니다.
-
하늘연
2015.12.23 06:30
우선 MWE에서는 작동 잘 되는걸 확인했습니다. 감사합니다.
jiwonlipsum.sty에 쓰인 expl3의 시퀀스 처리 방식을 응용하는 것은 어떨까요?