LateX 生成的辭彙表 辭彙與其解釋間均如何控制?

想控制的就是這個間距

如果將 style 設置為 tree 風格 可以簡單通過
enewcommandglstreepredesc{qquad} 實現,但是tree 模式 對齊比較丑

所以目前用的是 long 風格,long 風格其實就是利用 longtable 排版,但是文檔中好像只提供了對第二列,也就是單詞解釋區域的寬度控制命令setlengthglsdescwidth{},對第一列, 也就是單詞列 並沒有直接的命令可以用來控制寬度

於是乎,又想到了自己基於long style 重新修改下創建一個自定義的style ,琢磨半天沒有成功,

雖然這個間距影響不是太大,但是成為了我一個心裡小疙瘩,求大神們 幫幫忙

目前不能修改間距的代碼如下

usepackage[xindy,toc,nonumberlist,nopostdot,style=long]{glossaries}


enewcommand{glsnamefont}[1]{sffamilyfseries{#1}}


enewcommand*{arraystretch}{1.2} %控制條目垂直行距


enewcommand{glsgroupskip}{} %辭彙組間的垂直間距

setlengthLTleft{0pt}

setlengthLTright{0pt}

setlengthglsdescwidth{0.8hsize}

makeglossaries

N?Z???


我的天 自己在 stackexchange找到答案了Adjust space between acronym and glossary description

關鍵代碼


ewglossarystyle{mylong}{%
setglossarystyle{long}%

enewenvironment{theglossary}%
{egin{longtable}[l]{@{}p{dimexpr 2cm- abcolsep}p{0.8hsize}}}% &<-- change the value here {end{longtable}}% }

希望別的有類似困惑的能找到哈哈,心裡一塊石頭落下


其實我是不太建議用 longtable 來生成單詞表的,一方面,只要有一個單詞非常長,整個單詞表的第一列都會非常寬;其次,longtable 的 cell 是不能分頁的,如果處於頁底的某個單詞意思很長,排不下,則會被擠到下一頁,前一頁會出現很大空白。

我建議使用 enumitem 宏包來實現題主的效果,可以完美解決我上述的兩種問題。

documentclass[UTF8]{ctexart}

usepackage{enumitem}
usepackage{lipsum}

egin{document}
egin{description}[font = fseries, leftmargin = 3cm, style = nextline]
item[abandon] vt. 放棄,拋棄; 離棄,丟棄; 使屈從; 停止進行,終止;\
n. 放任,放縱; 完全屈從於壓制.
item[apple] n. 蘋果; 蘋果樹; 蘋果公司.
item[very very long word] lipsum[1]
item[short word] lipsum[2-3]
end{description}
end{document}


推薦閱讀:

請問這個TeX Live的依賴關係是什麼呀?
LaTeX 怎麼禁止標題在目錄中的折行?
為什麼 LaTeX 的命令以不便盲打的反斜桿開始?
windows 下 xelatex 編譯中文,無法複製?
從軟體工程上來說,LaTeX 爛不爛?

TAG:LaTeX | LaTeX排版與設計 | 排版技巧 |