![在 {} 参数内格式化多行,例如 \ifbool](https://linux22.com/image/295876/%E5%9C%A8%20%7B%7D%20%E5%8F%82%E6%95%B0%E5%86%85%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%A4%9A%E8%A1%8C%EF%BC%8C%E4%BE%8B%E5%A6%82%20%5Cifbool.png)
好的,作为上一个问题的后续,如何在 {} 括号内格式化多个命令,以便它不会崩溃,抛出错误?谢谢
例子
\ifbool{@switch}{???????????}{???????}
这有效:
例如:doofus.sty
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doofus}%
[2014/01/01 v0.01a LaTeX doofus package]%\filedate\space\fileversion\space
\typeout{Package doofus, \csname [email protected]\endcsname%
^^ Copyright (C) 2014 ^^J}
\RequirePackage{calc}
\RequirePackage{xkeyval}[2006/11/18]
\usepackage{ifthen}
\usepackage{etoolbox}
\newbool{@epubstate}
\boolfalse{@epubstate}
\DeclareOption{epub}{\booltrue{@epubstate}}
\ProcessOptions%
\ifbool{@epubstate}{\newcommand{\doofus}{\textcolor{black}{7\spadesuit}}
\newcommand{\doofustwo}{\textcolor{black}{6\spadesuit}}}
{\newcommand{\doofus}{\textcolor{red}{7\heartsuit}}\newcommand{\doofustwo}{\textcolor{red}}{6\heartsuit}}}
但我需要在每个 ifthen {} 中放入 50 行。如何确保语法正确?
答案1
我不确定我是否正确理解了你的问题:
我如何确保它的语法正确?
如果我这样做了,我认为您的问题可以通过两种方法解决,我强烈推荐这两种方法:
使用缩进:
\ifbool{@epubstate}{ \newcommand{\doofus}{\textcolor{black}{7\spadesuit}} \newcommand{\doofustwo}{\textcolor{black}{6\spadesuit}} }{ \newcommand{\doofus}{\textcolor{red}{7\heartsuit} \newcommand{\doofustwo}{\textcolor{red}}{6\heartsuit}} %% ... 48 commands more }
这已经很好读了。
使用支持语法高亮的编辑器,当光标位于右括号时,会为相应的左括号着色。可用的编辑器有
vim
、kile
以及emacs
许多其他编辑器。