\global 函数产生问题

\global 函数产生问题

我对 \global... 有疑问。我下载了一个 LaTex 文档设置模板。模板中有很多 \global... 函数,当我删除其中一个时,会出现此错误:“未定义控制序列。\titlepages”以及一些有关缺少字体形状的信息。我不需要它们全部,所以我想删除一些。该怎么做?

\documentclass[male, authorStatement, indexNumber, fileVersion, keywords, thanks]{lib/u}
\usepackage[utf8]{inputenc}

\globalFullAuthor{xxx}                     
\globalShortAuthor{x}                  
\globalFullTitle{Sym}  
\globalShortTitle{Ryn}    
\globalFullUniversity{Uniwer}
\globalShortUniversity{U}                           
\globalDepartment{Wyd}               
\globalDegreeprogramme{Inf}       
\globalThesisType{P}                   
\globalUnderTheSupervisonOf{Po}
\globalSupervisor{prof} 
\globalAcknowledgements{Dla}   
\globalFileVersion{0.9.0}  
\globalIndexNumber{190}  
\globalCity{K}        
\globalYear{2015}          
\globalKeywords{smth} 

还收到第二个错误:“输入行 235 上的 \begin{itemize} 以 \end{document} 结束。” \end{document}”

据我所知,这意味着我在页面中缺少“\end{itemize}”,但事实并非如此。它弹出“\end{document}”行。我没有找到任何解释。

感谢您的帮助。

这也是与 \global 相对应的“lib/u.cls”的一部分:

%##############################################################################
% Variables definitions
%##############################################################################
\def\globalFullAuthor#1              {\gdef\@globalFullAuthor{#1}}                
\def\globalShortAuthor#1             {\gdef\@globalShortAuthor{#1}}               
\def\globalFullTitle#1               {\gdef\@globalFullTitle{#1}}                 
\def\globalShortTitle#1              {\gdef\@globalShortTitle{#1}}                
\def\globalFullUniversity#1          {\gdef\@globalFullUniversity{#1}}            
\def\globalShortUniversity#1         {\gdef\@globalShortUniversity{#1}}   

\def\printFullAuthor{\@globalFullAuthor}              % Display
\def\printShortAuthor{\@globalShortAuthor}            % Display
\def\printFullTitle{\@globalFullTitle}                % Display
\def\printShortTitle{\@globalShortTitle}              % Display
\def\printFullUniversity{\@globalFullUniversity}      % Display    
\def\printShortUniversity{\@globalShortUniversity}    % Display    

答案1

使用发布的片段无法重新创建错误,但片段有一个明显的错误,如果\global...使用这些命令,可能会导致文档中出现奇怪的虚假错误,因此可能是问题的根源。

\def\globalFullAuthor#1              {\gdef\@globalFullAuthor{#1}}                
\def\globalShortAuthor#1             {\gdef\@globalShortAuthor{#1}}               
\def\globalFullTitle#1               {\gdef\@globalFullTitle{#1}}                 
\def\globalShortTitle#1              {\gdef\@globalShortTitle{#1}}                
\def\globalFullUniversity#1          {\gdef\@globalFullUniversity{#1}}            
\def\globalShortUniversity#1         {\gdef\@globalShortUniversity{#1}}   

应该

\def\globalFullAuthor#1{\gdef\@globalFullAuthor{#1}}                
\def\globalShortAuthor#1{\gdef\@globalShortAuthor{#1}}               
\def\globalFullTitle#1{\gdef\@globalFullTitle{#1}}                 
\def\globalShortTitle#1{\gdef\@globalShortTitle{#1}}                
\def\globalFullUniversity#1{\gdef\@globalFullUniversity{#1}}            
\def\globalShortUniversity#1{\gdef\@globalShortUniversity{#1}}

\globalFullAuthor因为它是(比如说)的论点不是下面的{}组(例如{xxx}在您的示例中),它是到下一个空格(或换行符)为止的所有内容。在您的示例中,这些恰好是相同的,因为在}of之后有一个换行符{xxx},但是如果您的实际文档缺少这些换行符,则效果是可以预见的,但几乎肯定是不需要的。

相关内容