2013-08-06 128 views
-1

儘管不是專家,但我對LaTeX中的操作知之甚少。我想開始在LaTeX上寫一篇論文。我已經完成了這一點,使用以下。在LaTeX中使用C填充表格#

\documentclass[a4paper]{article} 

\usepackage[english]{babel} 
\usepackage[utf8x]{inputenc} 
\usepackage{amsmath} 
\usepackage{graphicx} 
\usepackage[colorinlistoftodos]{todonotes} 

\title{Written using Latex} 
\author{Guddi} 

\begin{document} 
    \maketitle 
\end{document} 

但我現在畫填充的是當屬C#程序在我的情況下,輸出中海量數據的表。我可以通過C#運行LaTeX嗎?怎麼做?在LaTeX中繪製一個表是可以的,但是通過C#程序來完成它對我來說是個問題。

+0

我建議您將程序的輸出存儲在一個文件中,然後在LaTeX中生成表格。 –

+0

@LarsKristensen請給我解釋一下 – guddi

+0

在你的C#程序中,生成一個複製/可粘貼到你的TeX文件中的輸出,並且這將產生所需的表格。 –

回答

1

我爲你寫在C#示例函數,在LaTeX的語法建立一個表:

private string createTable(string[] cols, string[][] values) 
{ 
    StringBuilder sb = new StringBuilder(); 
    sb.AppendLine(@"\begin{table}[ht]"); 
    sb.AppendLine(@"\centering"); 
    // Assuming four columns. 
    sb.AppendLine(@"\begin{tabular}{c c c c}"); 
    sb.AppendLine(@"\hline\hline"); 
    // Column headers. 
    bool first = true; 
    foreach (string col in cols) 
    { 
     if (!first) 
      sb.Append(" & "); 
     sb.Append(col); 
     first = false; 
    } 
    sb.AppendLine(); 
    sb.AppendLine(@"\hline"); 
    foreach (string[] rowCells in values) 
    { 
     first = true; 
     foreach (string cell in rowCells) 
     { 
      if (!first) 
       sb.Append(" & "); 
      sb.Append(cell); 
      first = false; 
     } 
     sb.AppendLine(@" \\"); 
    } 
    sb.AppendLine(@"\hline"); 
    sb.AppendLine(@"\end{tabular}"); 
    sb.AppendLine(@"\end{table}"); 
    return sb.ToString(); 
} 

這個代碼是在此基礎上reference。改變你的方便代碼。

+0

非常感謝@EZSlaver .. :)我明白了 – guddi