嘿所以我知道由於在Julia中的Unicode支持,可以通過鍵入a\_1<TAB>
來寫下例如字母a和下標1。現在,如果我想要做類似如下:在Julia中打印變量下標
for i in [1 2 3]
println("a\_i")
end
,並具有輸出寫成
a₁
a₂
a₃
我怎麼會去這一點沒有寫出所有可能的標自己?
嘿所以我知道由於在Julia中的Unicode支持,可以通過鍵入a\_1<TAB>
來寫下例如字母a和下標1。現在,如果我想要做類似如下:在Julia中打印變量下標
for i in [1 2 3]
println("a\_i")
end
,並具有輸出寫成
a₁
a₂
a₃
我怎麼會去這一點沒有寫出所有可能的標自己?
你可以這樣做(至少在0.6版本):
ltx = Base.REPLCompletions.latex_symbols
for i in 1:3
println("a$(ltx["\\_$i"])")
end
這是一個很好的解決方案,謝謝! – Mason
博古米爾卡明斯基的答案似乎是最巧妙的,但我需要扭轉,以獲得正確的字符串爲兩個數字:
subscript(i::Integer) = i<0 ? error("$i is negative") : join('₀'+d for d in reverse(digits(i)))
for i=7:13 println("a"*subscript(i)) end
你想要的Unicode字符是'\ u208X'。如果你在'\ u2081 \ u2082 \ u2083''中迭代'我可以得到你想要的,但我不認爲有一個內置的方法來從數字轉換爲unicode下標。 –
你可以爲此寫一個字符串宏。 [LaTeXStrings.jl](https://github.com/stevengj/LaTeXStrings.jl)很接近,但不完全是你想要的。 –
寫一個自定義轉換器應該很簡單'subscript(i :: Integer)= i <0? error(「$ i is negative」):string(('''+ d for d in digit(i))...)' –