수색…


Counter 선언, 초기화 및 pdf로 인쇄

라텍스에 정수 변수를 사용할 수 있습니다. 새 변수를 만들려면 \newcounter{name} 명령이 필요합니다. 여기서 name 은 새 카운터의 이름입니다. name 은 문자 만 포함해야합니다. 이 명령은 이름이 \thename name 인 새 명령을 작성합니다. 이 명령으로 name 변수를 용지에 인쇄 할 수 있습니다. name 의 초기 값은 0입니다. "name"에 값을 부여하기 위해 \setcounter{name}{n} 사용할 수 있습니다. 여기서 n은 정수입니다. \value{name} 의 값을 반환하는 함수입니다 name .

\documentclass{article}
\begin{document}
\newcounter{num}                    %new counter, initial value is 0
\thenum                             %print 0
\setcounter{num}{3}                 %set num to 3
\thenum                             %print 3
\newcounter{number}
\setcounter{number}{\value{num}}    %set number to value of num
\thenumber                          %print 3

Latex provides some other formats to print a number.

Other types of printing:

\arabic{num}\\
\Roman{num}\\ %→ I, II, III, IV, . . . (num = 1, 2, 3, . . . )
\roman{num}\\ %→ i, ii, iii, iv, . . . (num = 1, 2, 3, . . . )
\Alph{num}\\  %→ A, B, C, D, . . . (num = 1, 2, 3, . . . , 26)
\alph{num}\\  %→ a, b, c, d, . . . (num = 1, 2, 3, . . . , 26)
\fnsymbol{num}\\ %→ ∗, †, ‡, §, ¶, k, ∗∗, ††, ‡‡ (num = 1, 2, 3, . . . , 9)
\end{document}

여기에 이미지 설명을 입력하십시오.

카운터 조작

이 예제에서는 카운터와 함께 수학 연산을 사용하는 방법을 보여줍니다. 라텍스의 루프에 유용 할 수 있습니다.

추가 : \addtocounter{num}{n}

이 명령은 num n 을 더하고 num 은 카운터이고 n 은 양의 정수입니다.

뺄셈 : \addtocounter{num}{-n}

이 명령은 num 에서 n 을 뺍니다. 여기서 num 은 카운터이고 n 은 양의 정수입니다.

곱하기 : \multiply\value{num} by n

이 명령은 numn 곱합니다. 여기서 num 은 카운터이고 n 은 정수입니다.

구분 \divide\value{num} by n

이 명령은 numn 으로 나누고 몫의 정수 부분을 가져옵니다 ( num 은 카운터이고 n 은 정수)

\documentclass{article}
    \begin{document}
    \newcounter{num}
    \setcounter{num}{3}
    \addtocounter{num}{10}
    \thenum\\%prints 13
    \addtocounter{num}{-3}
    \thenum\\%prints 10
    \stepcounter{num}
    \thenum\\%prints 11
    \multiply\value{num} by \value{num}
    \thenum\\%prints 121
    \multiply\value{num} by 2
    \thenum\\%prints 242
    \divide\value{num} by 60
    \thenum%prints 4
\end{document}

\newcommand{num} 은 카운터를 선언합니다. \setcounter{num}{3} 은 num 값을 3으로 설정합니다.

\addtocounter{num}{10} 은 num에 10을 더합니다.

\addtocounter{num}{-3} num에서 3을 뺍니다.

\stepcounter{num} 은 num에 1을 더합니다.

\multiply\value{num} by \value{num} .

\multiply\value{num} by 2 두배로 \multiply\value{num} by 2 .

\divide\value{num} by 60 으로 나누면 num을 60으로 나누고 정수 부분을 얻습니다.

코드 결과 : 13 \\ 10 \\ 11 \\ 121 \\ 242 \\ 4

(\\는 새 줄을 상징합니다)

intcalc 패키지는 mod, pow, sng, abs, inv 등의 다른 정수 연산을 추가합니다.

intcalc_package.pdf

If 문

latex에서는 조건이 맞는지 여부에 관계없이 코드를 실행하기 위해 내장 명령을 사용할 수 있습니다.

두 개의 정수를 비교 : \ifnum\value{num}>n {A} \else {B}\fi

이 코드는 num> n else B 인 경우 A를 실행합니다. <> 및 =로 대체 할 수 있습니다.

숫자가 홀수 인 경우 : \ifodd\value{num} {A}\else {B}\fi

num이 홀수이면 A else B를 실행합니다.

조건이있는 경우 : \ifthenelse{condition}{A}{B}

이 명령을 사용하려면 ifthen 패키지를로드해야합니다. condition이 true이면 A else B를 실행합니다.

\( \) , \AND , \OR , \NOT 을 사용하여 복잡한 조건을 만들 수 있습니다.

예 : \ifthenelse{\(\NOT 4<2 \OR 4>11\)\AND\isodd{4}}{A}{B}

이 코드는 페이지에 "B"를 적습니다. \NOT 4<2 가 참이고 4>11 이 거짓입니다. 우리가 거짓말과 진실한 진술을 "OR"로 연결하면 결과는 참입니다. 그래서 \(\NOT 4<2 \OR 4>11\) 사실입니다. \isodd{4} 는 4가 짝수이기 때문에 거짓입니다. "AND"로 연결된 거짓 및 진술은 거짓이므로 출력은 B입니다.

예제 코드 :

\documentclass{article}
\usepackage{ifthen}
\begin{document}
    \newcounter{num}
    \setcounter{num}{10}

    If num$>$100 then the next sentence will be "Num is large." else "Num is small."

    Num is \ifnum \value{num}>100 {large} \else {small}.

    If num is odd then the next sentence will begin with "Odd" if not then with "Even"

    \ifodd \value{num} {Odd} \else {Even} numbers are cool.

    If (num$>$3 and (1$<$0 or num$=$10)) is true then the next sentence will be "True." else "False."

    \ifthenelse{\value{num}>3\AND\(1<0 \OR \value{num}=10\)}{True.}{False.}


\end{document}

결과

루프 - 반복되는 것들

우리는 라텍스로 고리를 만들 수 있습니다. 이들은 유사하지만 다른 프로그래밍 언어의 루프처럼 사용자 정의 할 수 없습니다. 루프를 사용하는 대신 @ 루프를 사용할 수도 있습니다. 이름에 "@"가 포함 된 명령을 사용하면 \makeatletter\makeatother 사이에 넣어야합니다. 새로운 정의를 설명하는 매크로에서는 사용할 수 없습니다.

잘못된:

\def\is#1#2{\makeatletter\@ifstar{#1}{#2}\makeatother

권리:

\makeatletter\def\is#1#2{\@ifstar{#1}{#2}}\makeatother

@for 루프 : \@for\command:={list}\do{commands}

:

\makeatletter
\@for\sun:={rising,setting}\do{The sun is \sun.}
\makeatother

그것은 다음과 같은 본문을 생성합니다 : 해가 뜨고 있습니다. 해가지고있다.

@whilenum 루프 : \@whilenum condition\do{commands}

:

\makeatletter
\newcounter{int}
\@whilenum\value{int}<10\do
{\stepcounter{int}\ifthenelse{\isodd{\value{int}}}{\theint}{}}
\makeatother

이 코드는 1에서 9까지 홀수를 씁니다.

"루프 반복"루프 : \loop {commands} \ifnum condition \repeat

조건이 true가 될 때까지 명령을 실행합니다.

\setcounter{int}{1}
\loop
\theint
\addtocounter{int}{2}
\ifnum \value{int}<10
\repeat

이 코드는 @whilenum 루프와 동일합니다.

예제 코드 :

\documentclass{article}
\usepackage{ifthen}
\usepackage{amsmath} %\text{} command needs this package
\begin{document}
    Demonstration of @for loop:

    \makeatletter
    \@for\sun:={rising,setting}\do{The sun is \sun. }
    \makeatother

    \newcounter{int}

    @whilenum loop:
    
    \setcounter{int}{0}
    \makeatletter
    \@whilenum\value{int}<20\do
    {\stepcounter{int}\ifthenelse{\isodd{\value{int}}}{\theint\text{ }}{}}
    \makeatother
    
    "loop repeat" loop:
    
    \setcounter{int}{1}
    \loop
    \theint
    \text{ }\addtocounter{int}{2}\ifnum\value{int}<20
    \repeat
\end{document}

결과

Tikz에서 루프 사용

루프는 Tikz에서 유용합니다.

다음 코드는 숫자가없는 시계를 그립니다.

\documentclass{article}
\usepackage{ifthen}
\usepackage{intcalc}
\usepackage{tikz}
\newcounter{num}

\begin{document}       
\begin{tikzpicture}
    \makeatletter
    \setcounter{num}{1}
    \newcounter{angle}
    \draw (0,0) circle (3cm);
    \@whilenum\value{num}<13\do{
    \setcounter{angle}{360}
    \multiply\value{angle} by \value{num}
    \divide\value{angle} by 12
    \ifnum \intcalcMod{\value{num}}{3}=0{
    \draw[line width=4pt] (\theangle:2cm) -- (\theangle:3cm);    }\else
    {
    \draw[line width=1pt] (\theangle:2.3cm) -- (\theangle:3cm);
    }\fi
    \addtocounter{num}{1}
    }
    \makeatother
\end{tikzpicture}
\end{document}

결과:

시계



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow