【问题标题】:Emacs, AUCTeX and indentation of custom commandsEmacs、AUCTeX 和自定义命令的缩进
【发布时间】:2018-06-08 16:02:20
【问题描述】:

我正在准备一个包含彩色表格的文档(使用 colortbl),为了纠正这些表格中出现的细白线,我正在使用自定义换行宏来弥补这一点。但是,AUCTeX 无法识别新宏并尝试以一种奇怪的方式缩进表格。

\begin{table}[h]
  \centering\sffamily
  \begin{tabular}{lcc}
    \rowcolor{row1} \textbf{Nominative} & \emph{Wer?} & Who? \mynewline
                                                        \rowcolor{row2}\textbf{Accusative} & \emph{Wen?} & Who(m)? \\
    \rowcolor{row1} \textbf{Dative} & \emph{Wem?} & To who(m)? \\
    \rowcolor{row2} \textbf{Genitive} & \emph{Wessen?} & Whose? \mynewline
  \end{tabular}
\end{table}

如何让AUCTeX 理解\mynewline\\ 扮演相同的角色?

【问题讨论】:

    标签: emacs indentation auctex


    【解决方案1】:

    在许多情况下,如果您将TeX-parse-selfTeX-auto-save 设置为t,AUCTeX 应该能够自动了解您自己的命令。见https://www.gnu.org/software/auctex/manual/auctex/Parsing-Files.html#Parsing-Files

    如果这还不够,您可以使用样式文件告诉 AUCTeX 您自己的宏和环境。有关更多信息,请参阅https://www.gnu.org/software/auctex/manual/auctex/Style-Files.html#Style-Files。归结为正确使用函数TeX-add-symbols

    请注意,距离我上次这样做已经有好几年了。

    AUCTeX 附带一个用于 longtable 的样式文件,它似乎包含您需要的内容。见http://git.savannah.gnu.org/cgit/auctex.git/tree/style/longtable.el#n92

    (TeX-add-symbols
        ;; Commands to end table rows
        '("endhead" 0)
        '("endfirsthead" 0)
        '("endfoot" 0)
        '("endlastfoot" 0)
        ;; Caption commands
        '("caption*" 1))
    

    【讨论】:

    • 谢谢!我对获得答案有点失去希望......我将符号添加到列表中,但它仍然无法正常工作,我不知道为什么。现在 auctex 知道自定义换行命令,但我不确定它知道如何缩进,因为缩进的行为方式相同。至少,这对我来说是一个指针。至少现在我知道要寻找什么了!! =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多