表格的单独目录

表格的单独目录

我正在尝试为我的所有表格创建一个子目录,并以类似的方式使用它\graphicspath。我有很多表格,不想在主文本中看到它们。

答案1

要将表放在子目录中的单独文件中,您可以执行以下操作:

  • 创建一个子目录(例如“tables”)

  • 在该子目录中创建一个包含具有表定义的新命令的 tex 文件,例如文件“chapter1tables.tex”,其中包含:

    \newcommand*\TableOneOne{%
        \begin{tabular}{|c|c|}
          \hline 1 & a \\ 
          \hline 2 & b \\ 
          \hline 
        \end{tabular}
    }
    
  • input主 tex 文件中的“chapter1tables.tex”文件

  • 在需要时调用表定义的命令:

    \documentclass{article}
    \input{tables/chapter1tables}
    
     \begin{document}
       Here comes the table: 
    
       \TableOneOne
     \end{document}
    

答案2

\includegraphics这里与和类似\graphicspath。如果\tablepath没有定义,命令会尝试包含当前目录中作为参数给出的文件名。

如果\tablepath已定义,它将查看该文件是否存在,否则它将尝试使用本地目录(再次)

\documentclass{article}

\newcommand{\tablepath}{mytables}

\makeatletter
\newcommand{\includetable}[1]{%
  \@ifundefined{tablepath}{%
    \InputIfFileExists{#1}{}{}%
  }{%
    \InputIfFileExists{\tablepath/#1}{}{\InputIfFileExists{#1}{}{}}%
  }
}
\makeatother    



\begin{document}

\includetable{tablea}

\includetable{tableb}



\end{document}

tablea以下是和的定义tableb

tablea.tex

\begin{tabular}{ll}
\hline
A & B \tabularnewline
\hline
\end{tabular}

tableb.tex ——我已将其存储在我的mytables目录中。

\begin{tabular}{ll}
\hline
C & D \tabularnewline
\hline
\end{tabular}

相关内容