[LaTeX] LaTeX에서 Macro 만들기

2023. 12. 18. 17:57·기타/논문작성 Writing

LaTeX에서 매크로를 만드는 가장 쉬운 방법은 \newcommand를 사용하는 것이다. 그 외에도 다른 사람들의 코드를 보다보면 잘 모르겠는 부분들이 있어서 하나씩 찾아보았다.

어떻게 매크로가 작동되는지를 알아야 편하기는 한데 여기서는 바로 가져다쓰기 좋은 코드를 기록하기 위한 글이다.

이 글은 아마 공부하면서 계속 수정할 것 같다.

 

0. def

원래 매크로를 지정할 때는 기본적으로 def를 사용했었는데 지금은 newcommand를 많이 쓴다.

1. newcommand 사용하기

새로운 커맨드를 사용할 때는 newcommand로 정의하고

만약에 이미 패키지에 속해있는 커맨드라면 renewcommand를 사용해야한다.

기본 format은 다음과 같다.

\newcommand{\name}[no_of_parameters]{defn_of_command}

\name은 사용할 명령어의 이름, no_of_parameters는 입력으로 쓸 파라미터 수, defn_of_command는 사용할 방식을 말한다.

이렇게 할 경우에

\newcommand{\enorm}[1]{\| #1 \|_{2}}
\newcommand{\prox}[2]{ \operatorname{prox}_{#1}^{#2}}
\newcommand{\lp}[2]{ \left( #1 \right) } % large parantheses

% example
\enorm{a}
\prox{\eta}{f}
\lp{\frac{a}{b}}

 

위와 같이 \enorm이라는 커맨드를 만들어 입력을 받고 사용할 수 있다.

입력받은 파라미터는 순서에 따라 #1, #2 등으로 표기되며 아래 예시와 같이 brace{} 로 끊어서 넣어준다.

당연히 입력 받을 파라미터를 0으로 두거나 생략하여 아무것도 입력받지 않아도 된다.

또한 입력의 개수는 최대 9개까지라고 한다.

macro에서 받는 파라미터 중에 첫 번째 파라미터는 옵션으로 두고, default값을 지정할 수도 있다.

 

\newcommand{\name}[no_of_parameters][default_1st_variable]{defn_of_command}

 

자주 사용하는 유용한 매크로

 

평소에 사용하는 매크로를 몇 개 가져와봤다.

\newcommand*\subtxt[1]{_{\textnormal{#1}}}
\DeclareRobustCommand\_{\ifmmode\expandafter\subtxt\else\textunderscore\fi}

\newcommand{\colb}{\color{blue}}

위의 명령어는 a\_{text}라고 사용하면 자동으로 text는 수식이 아닌 텍스트 폰트로 적용되어서 일일이 a_{\text{ text subscript }}라고 쓰는 게 아니라 a\_{text subscript} 로 간편하게 쓸 수 있다.

$$a_{\text{text subscript}}$$

아래 명령어의 경우, 특정 문장을 {\colb sentence}로 묶으면 sentence가 특정색 폰트로 바뀜. \color{blue}로 써도 되지만 특정색깔을 지정해놓고 아래와 같이 해놓으면 편하다. blue라고 해놓은 명령어에서 blue를 좀 더 다른색으로 바꾸고 싶을 때 macro만 바꿔주면 다 바뀌기 때문

 


참고자료

 

https://www.math.uh.edu/~torok/math_6298/latex/macros.html

 

LaTeX Macros

LaTeX Macros One can create new "commands" for combinations that are used often. These are called macros. The format is as follows (the brackets are essential): \newcommand{\name}[no_of_parameters]{defn_of_command} One can have a macro whose first argument

www.math.uh.edu

 

저작자표시 비영리 변경금지 (새창열림)

'기타 > 논문작성 Writing' 카테고리의 다른 글

[논문작성] Word 수식번호 자동으로 연동  (0) 2024.01.25
[LaTeX] Table 고급 기능  (0) 2023.12.20
[LaTeX] 문서 Header 만들기  (0) 2023.11.16
[LaTeX] 기초(1) LaTeX가 뭔가요  (0) 2023.09.27
[LaTeX] LaTeX 안에 코드 블록 넣기  (0) 2023.09.14
'기타/논문작성 Writing' 카테고리의 다른 글
  • [논문작성] Word 수식번호 자동으로 연동
  • [LaTeX] Table 고급 기능
  • [LaTeX] 문서 Header 만들기
  • [LaTeX] 기초(1) LaTeX가 뭔가요
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (460)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    수치해석
    LaTeX
    pytorch
    teps
    서버
    Python
    Julia
    IEEE
    고체역학
    Zotero
    인공지능
    논문작성법
    JAX
    Numerical Analysis
    Linear algebra
    논문작성
    WOX
    옵시디언
    Statics
    matplotlib
    텝스
    텝스공부
    우분투
    딥러닝
    obsidian
    MATLAB
    에러기록
    Dear abby
    생산성
    ChatGPT
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[LaTeX] LaTeX에서 Macro 만들기
상단으로

티스토리툴바