
영어 원어민으로서 나는 악센트가 있는 많은 단어에 익숙하지 않기 때문에 다양한 악센트를 머릿속에 그대로 유지하는 것이 다소 어렵고, 모든 악센트에 대한 TeX 명령도 기억하는 것이 다소 어렵습니다.
게다가 나는 매우 게으르다.
그래서 최근에는 글에 자주 등장하는 악센트 단어에 대해 매크로를 사용하기 시작했고, 그 단어에 어떤 악센트가 있는지, 어떻게 입력하는지 기억해야 하는 책임이 면제되었습니다. 이는 또한 일관성을 보장합니다. 단어가 한 번 나올 때 악센트를 잘못 입력했는지 확인하기 어려울까 걱정할 필요가 없습니다.
여기 몇 가지 예가 있어요.
\newcommand{\Poincare}{Poincar\'e}
\newcommand{\adele}{adel\`e}
\newcommand{\Cech}{\v{C}ech}
\newcommand{\Erdos}{Erd\H{o}s}
나는 이 일을 함으로써 얻을 수 있는 이점을 설명했습니다. 내 질문은 이것이 "모범 사례"입니까?
아니면 적어도 "괜찮은 연습"인가요? 단점은 무엇입니까?
최근에 제가 깨달은 것 중 하나는 물론 이것이 악센트까지 동일한 단어에 대해 제가 원하는 정의 사이에 충돌을 일으킬 것이라는 것입니다. 예를 들어, 수학에서는 프랑스어 단어 étale
와 étalé
(참조여기그리고여기), 둘 다 매크로의 정의가 되기를 원할 것입니다 \etale
. 자, 전자가 후자보다 훨씬 더 많이 사용되므로 매크로를 부여하겠지만 후자에 대해 어떻게 명령을 적절하게 내릴 것인가의 문제가 남습니다. 별표 버전일까요? 매크로 \etalee
? 아니면 포기하고 실제로 강조하는 방법을 기억해야 합니까?
답변1
악센트를 올바르게 맞추려고 노력하는 것은 매우 칭찬할만한 일입니다. 사람의 이름은 알파벳이 동일할 경우 항상 원래대로 표기해야 합니다. 다른 문자를 사용하는 원래 이름의 경우 국제적으로 인정되는 음역 시스템을 사용할 수 있습니다.
Chebychev, Chebysheff, Chebyshov, Tchebychev, Tchebycheff, Tschebyschev 또는 Tschebyscheff가 동일한 사람, 즉 Pafnuty Chebyshev(널리 사용되는 음역 시스템에서) 또는 Pafnutij Celebyšev(다른 시스템에서)라는 사실을 깨닫기가 어려울 때가 있습니다. (러시아어에서는 키릴 문자로 이름이 Пафнутий Чебышев입니다.)
"Poincare", "Cech" 또는 "Erdos"를 쓰는 것은 매우 일반적이지만 잘못된 것입니다. 그리고 올바른 철자를 사용하는 것은 어렵지 않습니다: "Poincaré", "czech", "Erdös". (이름을 정확하게 발음하는 것은 또 다른 문제입니다.)
악센트가 기억나지 않는 문제는 매크로를 사용하는 것이 해결책이 될 수 있습니다. *-변형을 사용하여 "étale–étalé" 문제를 어떻게 해결했는지 주목하세요.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\newcommand{\Poincare}{Poincar\'e\xspace}
\newcommand{\adele}{ad\`ele\xspace}
\newcommand{\Cech}{\v{C}ech\xspace}
\newcommand{\Erdos}{Erd\H{o}s\xspace}
\makeatletter
\newcommand{\etale}{\'etal\@ifstar{\'e}{e\xspace}}
\makeatother
\begin{document}
\Poincare and \Erdos went to an \etale* party at \Cech's
with an \adele and an \etale as gifts. \Cech was happy.
Poincaré and Erdős went to an étalé party at Čech's
with an adèle and an étale as gifts. Čech was happy.
\end{document}
답변2
반대되는 시각일 수도 있지만 포기하고 악센트를 익히는 편이에요. Erd\H{o}s
대신에 입력할 수 있는 키 입력 횟수가 적습니다 \Erdos
. 또한 TeX를 사용하는 사람이라면 누구나 해당 코드를 복사하여 붙여넣을 수 있으므로 이식성이 더 좋습니다. 유니코드 세계에 익숙하다면(그리고 소스 코드를 보내는 사람도 마찬가지입니다) 유니코드 방법을 사용하고 Erdős
.
매크로 방법은 étale/étalé로 분류됩니다. 또한 각 항목을 지속적으로 다시 확인하지 않을 만큼 충분히 직관적인 것 같지도 \etalee
않습니다 .\etale*
키 입력을 저장하려면 텍스트 확장 소프트웨어(예: TextExpander 또는 AutoHotKey)를 사용하고 매개변수가 관련된 경우에는 매크로를 사용하세요.
답변3
별말씀을요! 실제로 이와 같은 매크로를 사용하는 것은 악센트의 경우에만 유용할 뿐만 아니라 거기에 참조를 넣을 수 있기 때문에 평범하고 간단한 단어에도 유용합니다 \index
. 내 석사 논문(그리고 나중에 출판될 책)에는 여러 유사한 매크로(사람 이름 등) 중에 다음 매크로가 있었습니다.
\newcommand*{\linux}{Linux\index{Linux}\xspace}
따라서 글을 쓸 때 타이핑 \linux
하는 것보다 타이핑으로 절약할 수 있는 것이 아무것도 없지만 Linux
, Linux가 언급된 모든 페이지에 적어도 한 번은 입력하지 않아도 되므로 엄청난 절약이 가능했으며 \index{Linux}
, 일부를 잊어버릴 염려도 없었습니다.
몇 가지 관련 팁:
Blahblah ... \linux.
로 바뀌는 것을 방지하려면 xspace를 사용하세요 Blahblah ... Linux .
.
에 따르면http://www.tug.org/pipermail/texhax/2005-March/003736.html:
일반적으로 차이는 없습니다. 따라서 인수에 두 개 이상의 단락이 포함되어 있지 않으면 \newcommand*를 사용하십시오.