Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
    • 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
    • 최소 예제는 "Minimal working example"을 읽어 보세요.
  • 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 ktug, stackexchange, stackoverflow, ctan, overleaf, google.com, sil.org, kopus.org 등은 해제하였습니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기는 CKeditor입니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
    • 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
    • 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.

noname

\numexpr 안의 / 연산자는 truncate가 아니라 round입니다. TeX의 \divide와는 다릅니다. modulo를 구하기 위해 a-(a/b)*b하면 음수를 반환하게 되어서 문제가 생깁니다.

원하시는 목적을 위해서 \myMod를 하나 새로 정의하시지요.

\newcount\tmpcnt
\def\myMod#1#2%
{%
	\tmpcnt#1
	\divide\tmpcnt by#2
	\multiply\tmpcnt by#2
	\ifnum0=\numexpr #1-\tmpcnt\relax 
		#2\else
		\the\numexpr #1-\tmpcnt\relax
	\fi
}

\ifnum 이후 코드는 나머지가 0일 때 나누는 수(예시된 7)를 출력해야 뜻대로 동작할 것 같아서 추가한 것입니다. 

사족이지만 \value{section}을 쓰기 위한 목적이라면 \usepackage{ifthen}으로 되지 않을까 합니다.

Expl3라면 대략 다음과 같이 할 수 있는데요, 이게 좋은 점은 \int_mod:nn라는 function을 제공한다는 것입니다. 문서 클래스가 oblivoir이므로 \usepackage{xparse}를 따로 안 써도 됩니다.

\ExplSyntaxOn
\NewExpandableDocumentCommand \myMod { m m }
{
	\int_set:Nn \l_tmpa_int { \int_mod:nn { #1 } { #2 } }
	\int_compare:nTF { \l_tmpa_int == 0 }
	{
		#2
	}
	{
		\int_use:N \l_tmpa_int
	}
}
\ExplSyntaxOff



XE Login