哪些符號應用作字母和數字的佔位符?

哪些符號應用作字母和數字的佔位符?

我需要一般性地描述隨機字母數字序列的語法,例如ACW392039B0Q8,並討論某些情況,例如前兩位數字是字母,或以 或類似結尾的BA序列87。用作X字母的佔位符和N數字的佔位符會導致混亂,因為所討論的一些情況處理以XN:開頭的NXNNNN序列,樣本的分類NX9837, NX9877, NX123X(全部以NX)開頭,既不傳達子信息,也不傳達子訊息 它們都有共同的序列,也不考慮可以是字母的數字 它們。或者一個號碼。

理想情況下,我會使用佔位符號來唯一標識字母數字、數字或矛盾數字。是否有任何已使用的符號來解決此類問題(例如¤未指定的貨幣),並且在正常字母之間看起來不太像?諸如及其派生符號之類的符號\CIRCLE對字體顏色影響太大,並且...不傳達位數。

答案1

我可以從TeX的角度來回答。我的想法是將字串設定為等寬字體(也許選擇與預設字體不同的字體),但「變數」字串是盒裝的 D 或盒裝的 L 表示「數字」和「字母」。也許您可以為字元添加另一個符號,即數字或字母。

此程式碼中的主要內容是它非常可自訂:變數由?and表示!(您可以選擇d並且l如果字串中未使用小寫字母),透過檢查輸入中的每個字元並檢查是否可以轉換為裝箱字元它代表一個「變數」(佔位符)。

\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}

在此輸入影像描述

相關內容