如何把 Word 中的表格快速插入 LaTeX?

是指這種沒有實線分隔開的表格(如圖)。

感覺如果用

egin{tabular}{|c|l|r|}

語句寫的話到時候一項一項的填豈不是很麻煩?

(TeX 新手,問題可能略小白)


謝邀。

貼到 Excel 里,然後用 excel2latex 這個小工具。


推薦 excel2latex。

你要是不想裝這個,有個在線的表格轉 LaTeX 代碼的網站 Create LaTeX tables online,可以導入 Excel 文件。

最後我再補充一個手工的方法。

Word 和 LaTeX 編輯器都打開列模式。Word 按住 Alt 鍵可進入列模式(Word 中的表格不進入列模式就可以選中一列),LaTeX 編輯器以 WinEdt 為例,點擊狀態欄上的 LINE 按鈕,可進入列模式。

複製 Word 中表格的一列,粘貼到 WinEdt 中,再複製一列 ,再複製 Word 表格的第二列,粘貼到 WinEdt 中……最後複製一列 \hline 即可。

最後吧環境補上。


在線轉換器,如:Create LaTeX tables online


我寫了一段Excel VBA代碼,VBE中插入模塊將代碼保存在模塊中。以後需要用就運行這個宏。經過測試沒有問題。需要注意的是數據要從A1開始。

Sub Excel2TeX()

"將Excel表格中的數據轉化為LaTeX代碼保存在txt文檔中

"Date: 20161209

"Version: 1.0.0.20161209_beta

Dim rng, rng2 As Range

Dim totalcol_num, totalrow_num, col_num

Dim i As Range

Set rng = Application.InputBox("請選擇待轉化的區域(必須從A列開始)", "選擇區域", , , , , , 8)

totalcol_num = rng.Columns.Count

totalrow_num = rng.Rows.Count

For col_num = 2 To 2 * totalcol_num - 1 Step 2

ActiveSheet.Columns(col_num).Select

Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Set rng2 = Application.Intersect(rng, ActiveSheet.Columns(col_num))

"MsgBox rng2.Address

For Each i In rng2

i.Value = ""

Next i

Next col_num

Set rng2 = Application.Intersect(ActiveSheet.Rows("1:" totalrow_num), ActiveSheet.Columns(2 * totalcol_num))

"MsgBox rng2.Address

For Each i In rng2

i.Value = ""

Next i

"將轉化後的代碼以txt格式保存在當前文檔所在路徑下

ActiveSheet.SaveAs Filename:= _

ThisWorkbook.Path "" ActiveSheet.Name ".txt", FileFormat:= _

xlUnicodeText, CreateBackup:=False

Err:

Exit Sub

End Sub


我不經常用word,不過經常需要將大量數據畫到表格里。通常的做法是寫個小程序讀數據文件(純文本或者Excel),然後按照需要的格式輸出到屏幕,輸出時一併輸出『』和『\』等符號,然後複製粘貼。優點是方便修改表格格式,缺點是要寫程序實現。如果表格數據比較少且數據不需要反覆使用時,通常都是手工輸入。


推薦閱讀:

為什麼現在office系列都更新到2013了,國內的計算機一級考試還是要考office 2003的操作?
如何用 Word 打出非常類似於稿紙手寫以假亂真的效果?
word2010 選擇性粘貼怎麼設置鍵盤快捷鍵?
word文檔的優勢是什麼?
如何做到像使用Word那樣優雅的使用LaTeX?

TAG:MicrosoftWord | LaTeX | LaTeX排版與設計 |