使用 Mac 时 XeLaTeX 中 \\ 的问题

使用 Mac 时 XeLaTeX 中 \\ 的问题

当我尝试使用 MacOS Sierra 10.12.6 编译使用 Windows 10 编写的 XeTeX 文件时,我目前遇到了问题。我有一个包含以下代码片段的 .cls 文件:

...
\newcommand{\cover}[9]{%
    \def\arga{#1}%
    \def\argb{#2}%
    \def\argc{#3}%
    \def\argd{#4}%
    \def\arge{#5}%
    \def\argf{#6}%
    \def\argg{#7}%
    \def\argh{#8}%
    \def\argi{#9}%
    \covercontinued
}

\newcommand{\covercontinued}[2]{%
\color{atwgrey}
\pagenumbering{gobble}
\thispagestyle{empty}
\begin{picture}
    (0,0)(0.625cm,18.75cm){%
        \put(0,0){%
            \begin{tikzpicture}
                \node[anchor=north west, inner sep=0] at (-0.25,-1.55) {\picdims[height=18cm]{13.34cm}{18cm}{#2}\par};
                \node[anchor=north west] at (-0.6,0) {%
                    \includegraphics[scale=0.35,page=1]{graphicElements/posterlayout_blau.pdf}%
                };
                \node[anchor=north west] at (-0.4,-2.3) {%
                    \begin{minipage}[t][2.95cm]{6.5cm}
                        \raggedright{%
                            \color{atwgrey}\fontsize{10pt}{10pt}\selectfont \arga{} | \argb{} | \argc \\%
                            \vfill %
                            \color{atwblue}\fontsize{12pt}{12pt}\selectfont \MakeUppercase{\argd} \\%
                            \fontsize{8.5pt}{12pt}\selectfont \ifdefempty{\arge}{}{\MakeUppercase{\arge} \\}%
                            \vfill %
                            \color{atwgrey}\fontsize{10pt}{10pt}\selectfont \MakeUppercase{\argf} \\%
                            \fontsize{8.5pt}{11pt}\selectfont \argg %
                            \vfill %
                        }
                    \end{minipage}
                }; 
                \node[anchor=north west] at (6.5,-12.8) {%
                    \begin{minipage}[t][3cm]{6.5cm}
                        \raggedleft{%
                            \vfill %
                            \color{atwblue}
                            \fontsize{10pt}{10pt}\selectfont \ifdefempty{\argh}{}{\MakeUppercase{\argh}\\}%
                            \fontsize{17pt}{20pt}\selectfont\textbf{\MakeUppercase{\argi}} \\ %
                            \ifcsempty{#1}{\vfill}{\vspace*{3pt}\fontsize{13pt}{13.5pt}\selectfont \MakeUppercase{#1}\vfill}%
                        }
                    \end{minipage}
                }; 
            \end{tikzpicture}
        }
    }
\end{picture}%
\color{black}%
}
...

当我将 .cls 文件与 .tex 文档一起使用并输入\\其中一个参数时,Windows 可以完美处理它。如果我使用 Mac 编译相同的文件,则会出现以下错误:

! Use of \@icentercr doesn't match its definition.
<argument> \def
l.18 {img/funny-cat}
If you say, e.g., `\def\a1{...}', then you must always
put `1' after `\a', since control sequence names are
made up of letters only. The macro here has not been
followed by the required stuff, so I'm ignoring it.
...

解决方案是将所有出现的 替换\\\par。这样,它就可以完美地按应有的方式工作。我想了解这里的问题是什么。我发现错误通常仅在命名参数时出错时发生,例如在名称中插入数字。由于错误仅在使用 Mac 时发生(使用 texmaker/TeXLive 时),我怀疑这不是这里的问题。

与 Windows 相比,使用参数是否有其他限制?或者可能存在其他差异?

相关内容