LaTeX——关于minipage中的宽度控制
我对LaTeX目前还是所知甚少,只能说会打字进去,完全达不到随心所欲使用的程度。
虽然有买刘海洋老师的LaTeX入门
教程,但基本上是当成一本工具书在进行查询...
制作音程题
我想制作如上图一样的题型。
首先是编号的问题,这个比较简单,直接在enumerate
环境里输入内容即可。
但是每一道题比较短,如果不分栏的话,那就是如下的效果。
分栏的话有一个问题比较重要,那就是题目跟下面的答案要在一块。
否则就会出现题目在第一列,但是答案在第二列的情况,需要自己手动去调整,比较麻烦。
题目并不是用图片的形式插入的,而是调用lilypond
的语法生成。
所以我准备使用minipage
的方式把内容放到一块。
\begin{minipage}[]{}
\RemoveTime{\time 4/2 c''1 d''1}\\
\underline{\makebox[85pt]{大三度}}
\end{minipage}
其中第2行就是题目,第3行就是答案。
minipage的参数
minipage有一个必须要传入的参数,那就是宽度。
宽度的数值我一开始不知道怎么去填写。
因为LaTeX里关于这个单位有很多,我可以填写xxpt
或者xxcm
。
但是这样填写我心里都没有直观的印象,pt还能大致对应一下多少个字,按cm来考虑完全就懵了。
而且我感觉这也不是一个优雅的处理方式,不应该是我自己去自己定义,因为很多时候题目可能会因为有调号,所以稍微长一点。我总不可能长一点就多几个pt,短一点就少几个...
思考了半天,我填入了\textwidth
参数,
可以顺利的识别,然后报错信息是说太宽了。
\textwidth
指的是版心的宽度,如果我进行分栏的话,那么宽度就会被分成4份。
所以填写.25\textwidth
应该是刚刚好,不需要考虑宽了还是窄了。
不过依旧是遇到了报错信息。
这多出来的32.5pt我思考了半天。我觉得是两个原因:
- 在
enumerate
环境里,内容不是从版心的最左边部分开始排的,而是会稍微的往中间移,与正文进行区分。所以也是变现的缩小了版心。 - 在利用
multicols
分栏的情况下,栏与栏之间会有一个间距,这同样占了\textwidth
的位置。
最后调整了半天,改成.18\textwidth
刚刚好。这样的话minipage
的宽度在4栏的情况下占据了最大值,除非是题目已经超过了这个宽度,其他情况下都是正常的。
那么这个参数能不能在其他的模板下通用呢?
我还没有去尝试,不知道在其他的页面尺寸及布局下,分栏的行间距等会不会进行变化~