사라지는 별표의 수수께끼 [중복]

Nov 21 2020

내 테이블에 이상한 "버그"가 있습니다. 어떤 이유로 별표 하나가 표시되지 않습니다. 나는 유니 코드를 사용한다는 것을 이해하는 LuaLaTex를 사용하고 있으므로 테이블에있는 모든 이상한 글리프는 직접 인쇄되고 별표 하나를 제외하고 모두 정상적으로 인쇄되어야합니다! 이상한 점은 두 번째 별표를 추가하면 별표 하나가 표시된다는 것입니다. 나는 대신 별표 tcolorboxtabular사용 하지 않고 표를 시도했습니다 tabularx. 나는 당황했다.

어떻게 생겼는지 :

이것은 내 코드입니다.

\documentclass[12pt,a4paper,openany]{book}
\usepackage{fontspec}
\setmainfont[Numbers=OldStyle,Ligatures=TeX]{linux libertine} 

\usepackage{polyglossia}
\setdefaultlanguage{icelandic}

\usepackage{tcolorbox}
\usepackage{tabularx}

\begin{document}
\begin{table}[h!]%
\begin{footnotesize}

\begin{tcolorbox}
    \begin{center}
    \begin{tabularx}{0.9\textwidth}{lXX}
        Stofn    &  Tenging við [GULUR]         &   Orð af sama stofni   \\
        \hline
        *ƀlaikaz &  gamalháþýska: \textit{bleih} ‘gulleitur, fölur’ &   is. \textit{bleikur};   \\
                 &                                      &   dk. \textit{bleg} ‘fölur’; \\
                 &                                      &   en. \textit{bleak} ‘hráslagalegur’ \\
        \hline
        *ƀlēwaz  &  skylt latnesku \textit{flāvus} ‘gullingulur’;       &   is. \textit{blár}; \\
                 &  fornírska \textit{blár} ‘gulur’     &   dk. \textit{blå} ‘blár’; \\
                 &                                      &   en. \textit{blue} ‘blár’ \\
        \hline
        *falvaz  &  fornenska \textit{fealu} ‘gulbrúnn, gulur’; &   is. \textit{fölur}; \\
                 &  gamalsaxneska \textit{falu} ‘fölgulur’; &   en. \textit{fallow} ‘gulbrúnn’  \\
                 &  fornháþýska \textit{falo} ‘fölur, rauðgulur’;       &       \\
                 &  slavneska *\textit{polь} ‘gulur, hvítleitur’        &       \\
        \hline
        *ʒallan  &  talið skylt *\textit{g̑hel}-                    &   is. \textit{gall};  \\
        *ʒallōn  &  sanskrít \textit{hári} ‘fölur, gulleitur, grænleitur’; & en. \textit{gall} ‘ósvífni’  \\
                 &  avestíska \textit{zairi} ‘gulur, gulleitur’     &       \\
        \hline
        *ʒelwaz  &  fornenska \textit{ʒeolu} ‘gulur’;               &   is. \textit{gulur};  \\
                 &  skylt sanskrít \textit{gaurá}- ‘hvítleitur, gulleitur’; &   dk. \textit{gul} ‘gulur’;  \\
                 &  latína \textit{giluus} ‘fölgulur’;          &   en. \textit{yellow} ‘gulur’  \\
                 &  latína \textit{fuluus} ‘skærgulur’          &           \\
        \hline
        *ʒlōraz  &  sama og gríska \textit{khlorós} ‘grænleitur gulur’ & is. \textit{glor} ‘gulgrár hungurlitur’;  \\
                 &                                  &   en. \textit{chlorine} ‘klór(gas)’  \\
        \hline
        *ʒlūmaz  &  skylt grísku \textit{khloús} ‘grænleitur gulur’ & is. \textit{Glúmur} ‘björn’; \\
                 &                              &   en. \textit{glum} ‘dökkur, daufur, leiður’  \\
        \hline
        *xunaʒgan & tengt grísku \textit{knikós} ‘fölgulur’ &   is. \textit{hunang}; \\
                 &                                          &   en. \textit{honey} ‘hunang’  \\
        \hline
        *pađđōn  &  fornírska \textit{buide} ‘gulur’        &   is. \textit{padda}; \\
                 &                                          &   dk. \textit{padde} ‘froskur’  \\
        \hline
        *salwaz  &  fornnorræna \textit{sǫlr} ‘gulur’       &   is. \textit{söl}  \\
                 &  miðhollenska \textit{salu} ‘skítugur, fölur, gulur’ &   en. \textit{sallow} ‘gugginn, fölur’  \\
    \end{tabularx}
    \end{center}
\end{tcolorbox}
\end{footnotesize}
    \caption{Germanskir stofnar íslenskra litaorða}
    \label{tafla:gulur}
\end{table}
\end{document}

기술적으로 해결책을 찾았 기 때문에 (두 번째 별표 추가) 그 자체로는 문제가되지 않지만 정말 괴롭힘을 당합니다. 그러니 누군가 왜 이런 일이 일어날 지 아이디어가 있다면 알려주세요.

답변

4 campa Nov 21 2020 at 00:34

아주 간단한 문서

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\begin{tabularx}{5cm}{lX}
\show\\
\end{tabularx}
\end{document}

터미널 출력을 제공합니다

> \\=macro:
->\relax \iffalse {\fi \ifnum 0=`}\fi \@ifstar \@xarraycr \@xarraycr .

중괄호 해킹 외에도 \@ifstar동일한 매크로가 두 번 발생합니다 \@xarraycr. 모두 있음이 수단 \\과이 \\*같은 효과가 있습니다. 이제 \@ifstar매크로는를 기반으로하여 뒤에있는 공백 \@ifnextchar무시 하는 데 효과적 입니다. 이와 같은 경우의 부작용은 \\다음에 오는 새 줄 이 뒤에 오는 a가로 *해석 된다는 것 입니다 \\*. 당신은 "정지"의 검색, 따라서해야 \@ifnextchar사용의 예를 들어 \\ \relaxA의 경우 라인이 시작 *.