라텍스용 확장 프로그램을 만들 수 있는 방법이 있나요?

라텍스용 확장 프로그램을 만들 수 있는 방법이 있나요?

라텍스용 확장 기능을 만들 수 있는 플랫폼이 있는지 궁금합니다. 그리고 만약 있다면 제가 원하는 확장 기능은 다음과 같습니다. 제 주요 언어는 터키어입니다. 그리고 터키어는 교착어입니다. 예를 들어 미국인이 "그림 2.5에서 볼 수 있듯이 bla bla"라고 말하면 "그림 2.5'te"는 "그림 2.5에서"를 의미하며 이 "te"는 그 앞의 설명에 따라 변경됩니다. 예: 1'de, 2'de 3'te, 4'te ... 9'da... 따라서 총 추가 횟수는 4 => "te/ta/de/da"..

이제 내 확장은 다음을 수행해야 합니다.

\myExtension{\ref{fig:myFigure}} (I am making up this syntax for now)
function myExtension{
   take the last number of the figure label (lastNumber)
   if (lastNumber == 1) then myAddition="de";
   .
   .
   if (lastNumber == 9) then myAddition="da";
   return label+"'"+myAddition
}

내가 할 수 있는 플랫폼이 있나요? 미리 감사드립니다.

답변1

나는 에서 보았다그림 번호에 따라 접미사 변경하지만 내 생각엔 여기에는 쓸데없는 복잡성이 있는 것 같다. 아마도 다음 6줄이면 충분할 것입니다.

\def\myref#1{\ref{#1}%
   \expandafter\ifx\csname r@#1\endcsname\relax \else
   \expandafter\expandafter\expandafter\myrefA\csname r@#1\endcsname \fi
}
\def\myrefA#1#2{\expandafter\myrefB#1\relax}
\def\myrefB#1#2{\def\tmp{#1}\ifx\relax#2\myrefC \else\expandafter\myrefB\expandafter#2\fi}
\def\myrefC{'\ifcase\tmp\space da\or de\or de\or te\or te\or te\or te\or te\or te\or da\fi}

관련 정보