문자와 숫자의 자리 표시자로 어떤 기호를 사용해야 합니까?

문자와 숫자의 자리 표시자로 어떤 기호를 사용해야 합니까?

ACW3920나는 일반적으로 임의의 영숫자 시퀀스(예: 또는 ) 의 구문을 설명 39B0Q8하고 특정 사례(예: 처음 두 자리가 문자이거나 로 끝나는 시퀀스 또는 이와 유사한 경우)에 대해 논의 BA해야 합니다 87. X문자에 대한 자리 표시자 문자 및 N숫자에 대한 자리 표시자 문자로 사용하면 논의된 사례 중 일부가 X또는 N: 로 시작 하는 시퀀스를 처리하기 때문에 혼란을 초래할 수 있습니다. NXNNNN샘플의 분류는 ( 모두로 시작하는 ) 하위 항목을 전달하지 않습니다. 모두 공통적으로 가지고 있는 순서를 따르며, 문자가 될 수 있는 숫자도 고려하지 않습니다.NX9837NX9877NX123XNX또는숫자.

이상적으로는 문자 숫자, 숫자 또는 양가 숫자를 고유하게 식별하는 자리 표시자 기호를 사용합니다. 이러한 문제(예: 지정되지 않은 통화)에 대해 이미 사용된 기호가 있습니까 ¤? 일반 문자 사이에서 너무 이상해 보이지 않습니까? 같은 기호 \CIRCLE및 그 파생어는 유형 색상에 너무 많은 영향을 미치고 ...자릿수를 전달하지 않습니다.

답변1

TeX 관점에서 대답할 수 있습니다. 내 생각은 문자열을 고정 폭 글꼴로 설정하는 것입니다(기본값과 다른 글꼴을 선택할 수도 있음). 그러나 "변수" 글꼴은 "숫자" 및 "문자"에 대해 박스형 D 또는 박스형 L입니다. 어쩌면 숫자나 문자인 문자에 대해 다른 기호를 추가할 수도 있습니다.

이 코드에서 가장 중요한 점은 사용자 정의가 매우 쉽다는 것입니다. 변수는 ?and 로 표시되며(문자열에 소문자를 사용하지 않을 경우 !선택할 수 있음 ) 상자 안에 있는 문자로의 변환은 입력의 각 문자를 검사하고 여부를 확인하여 발생합니다. 이는 "변수"(자리 표시자)를 나타냅니다.dl

\documentclass{article}

\ExplSyntaxOn

\NewDocumentCommand{\rstring}{m}
 {
  \group_begin:
  \normalfont\ttfamily
  \mulmet_rstring:n { #1 }
  \group_end:
 }

\cs_new_protected:Nn \mulmet_rstring:n
 {
  \hspace{0.05em}
  \str_map_inline:nn { #1 }
   {
    \str_case:nnF { ##1 }
     {
      {?}{\mulmet_rstring_placeholder:n { D }}
      {!}{\mulmet_rstring_placeholder:n { L }}
     }
     { ##1 }
    \hspace{0.05em}
   }
 }

\cs_new_protected:Nn \mulmet_rstring_placeholder:n
 {
  \dim_set:Nn \fboxrule { 0.3pt }
  \dim_set:Nn \fboxsep { 0pt }
  \framebox[0.5em]
   {
    \hspace{-0.3pt}
    \vphantom{A}
    \normalfont\tiny\raisebox{0.4\height}{#1}
    \hspace{-0.3pt}
   }
 }

\ExplSyntaxOff

\begin{document}

We have the full string \rstring{ACW3920} but also
an incomplete one \rstring{AC????} and one with
\rstring{!!????} two letters and four digits.

\noindent one with \rstring{ABCDEF}

\end{document}

마지막 행에서는 문자열이 가득 차 있든 자리 표시자가 포함되어 있든 동일한 공간을 차지한다는 것을 보여줍니다.

여기에 이미지 설명을 입력하세요

추가하면 \usepackage[lighttt]{lmodern}얻는다

여기에 이미지 설명을 입력하세요

답변2

\textvisiblespace내가 당신의 의도를 착각하지 않는다면 시도해 볼 수도 있습니다 .

\documentclass{article}

\begin{document}

ACW3920\qquad A\textvisiblespace W39\textvisiblespace 0

NX9837\qquad \textvisiblespace X9\textvisiblespace 3\textvisiblespace

\end{document}

여기에 이미지 설명을 입력하세요

관련 정보