![기사 클래스를 사용하여 maketitle 내부 및 외부에서 사용자 정의 명령을 어떻게 사용할 수 있습니까?](https://rvso.com/image/348605/%EA%B8%B0%EC%82%AC%20%ED%81%B4%EB%9E%98%EC%8A%A4%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20maketitle%20%EB%82%B4%EB%B6%80%20%EB%B0%8F%20%EC%99%B8%EB%B6%80%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 한동안 LaTeX를 사용해왔지만 매크로나 클래스를 만든 경험이 전혀 없습니다.
기본적으로 내가 원하는 것은 와 같은 명령을 만들고 \subject
기사 \major
클래스 \college
문서의 제목과 머리글/바닥글에 해당 명령을 사용할 수 있는 것입니다.
MWE에 표시된 대로 작업을 "수동"으로 완료할 수 있었습니다.
\documentclass[12pt,a4paper,twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish,mexico]{babel}
\usepackage{blindtext}
\title{A title}
\author{ an Author\\{\small a subject}\\\begin{footnotesize}
\textit{a College}
\end{footnotesize}}
\date{\today}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{a Major}
\fancyhead[L]{an Author}
\fancyfoot[C]{Página \textbar \thepage}
\fancyfoot[R]{a Subject}
\fancyfoot[L]{a Title}
\fancypagestyle{plain}{%
\fancyhf{}
\fancyfoot[CE,CO]{Página \textbar \thepage}
\renewcommand{\headrulewidth}{0pt}}
\begin{document}
\maketitle
\blindtext
\blindlist{itemize}[5]
\blindmathpaper
\end{document}
다음과 같이 라벨을 채우는 것만으로도 좀 더 "자동"으로 만들고 싶습니다.
\major{Mechanical Engineering}
어떻게 이를 달성할 수 있나요?
답변1
가장 쉬운 방법은 텍스트가 포함된 명령을 정의하고 필요할 때 사용하는 것입니다.
\newcommand\major{Mechanical Engineering}
...
\fancyhead[R]{\major}
정의와 사용이 이 텍스트 순서대로 이루어질 필요는 없습니다. \major
사용하기 전에 정의해야 합니다.
명령 정의를 숨기고 와 유사하게 수행하려면 \author
약간 \title
의 추가 노력이 필요합니다.
\newcommand\major[1]{\newcommand\themajor{#1}}
...
\major{Mechanical Engineering}
...
\fancyhead[R]{\themajor}
\themajor
이 코드는 가 이전에 사용되거나 가 두 번 사용된 \major
경우 오류를 발생시킵니다 . \major
제가 보기에는 이것이 기능처럼 보이지만 이를 피하고 싶다면 미리 정의할 수 있습니다 \themajor
.
\newcommand\themajor{}
\newcommand\major[1]{\renewcommand\themajor{#1}}
...
\major{Mechanical Engineering}
...
\fancyhead[R]{\themajor}
\renewcommand
대신에 를 사용하는 것에 주목하세요 \newcommand
.