莲枝专栏--不等宽双栏,怎么破?

不等宽双栏,怎么破?

“……所以啊,学兄,LaTeX 到底能不能实现双栏不等宽啊?” “啊~用两个并排的 minipage 就好了呀~~”
\noindent\begin{minipage}[t]{0.6\linewidth}
Cookie halvah lemon drops sweet roll brownie. Brownie ice cream liquorice 
sweet jujubes cake chocolate wafer. Pie bear claw soufflé wafer toffee 
biscuit lollipop. Sugar plum gingerbread toffee lollipop cake candy icing 
pudding soufflé. Marshmallow jujubes jujubes cake. Bonbon apple pie macaroon 
cake lemon drops tart.
\end{minipage}
\hfill
\begin{minipage}[t]{0.34\linewidth}
\sffamily
Cake dessert apple pie cheesecake donut. Brownie fruitcake candy candy canes 
powder pastry chupa chups macaroon.
\end{minipage}
“……” “这种为难的神情是怎么回事?哦,要有边框装饰的是不是?用 tcolorbox 吧那么~”
\begin{tcolorbox}[sidebyside,righthand width=5cm,sidebyside align=top]
Cookie halvah lemon drops sweet roll brownie. Brownie ice cream liquorice 
sweet jujubes cake chocolate wafer. Pie bear claw soufflé wafer toffee 
biscuit lollipop. Sugar plum gingerbread toffee lollipop cake candy icing 
pudding soufflé. Marshmallow jujubes jujubes cake. Bonbon apple pie macaroon 
cake lemon drops tart.
\tcblower
\sffamily
Cake dessert apple pie cheesecake donut. Brownie fruitcake candy candy canes 
powder pastry chupa chups macaroon.
\end{tcolorbox}
“是很漂亮啦,可是这都不能跨页啊,对吧?minipage 本来就不行跨页,tcolorbox 本来可以用 breakable 参数的,可是这 sidebyside 的就不能了啊。” “……你还是先说清楚,你想要这个效果是什么目的吧?” “是这样的,你看看有些杂志、期刊排版,首页主文只占页宽的70%,作者信息就放在右或左面的空旷处了。可是我看模板里,也没怎么处理主文跨到第二页的临界点啊。” 【作者按:嗯哼这个模板我开发的】 “哦~这个看看 .cls 代码就清楚了呗,用 \marginpar 啊,一种眉批备注的概念~作者信息一般都不会太太长,所以 \marginpar 不能跨页不要紧,让主文自己去处理自己就好了~” “\marginpar 啊?这个我以前用过,好像不太好使啊!有时栏宽太窄了,字都掉到页边外沿去了!” “Nonono~ 你一定是没设定 \marginparwidth 吧?既然你要将右边页距加宽了,这也得加宽啊,用 geometry 宏包就是这样:” \usepackage[left=2cm,right=6cm,marginparsep=2em, marginparwidth=3.5cm]{geometry}
~\marginpar{\sffamily\raggedright Cake dessert apple pie cheesecake donut. 
Brownie fruitcake candy candy canes powder pastry chupa chups macaroon.}
Cookie halvah lemon drops sweet roll brownie. Brownie ice cream liquorice 
sweet jujubes cake chocolate wafer. Pie bear claw soufflé wafer toffee
biscuit lollipop. Sugar plum gingerbread toffee lollipop cake candy icing
pudding soufflé. Marshmallow jujubes jujubes cake. Bonbon apple pie macaroon 
cake lemon drops tart.
“哦哦哦哦~咦,可是如果我想把 \marginpar 放左边呢?我把左右页距对调了,左边空出了一大片,\marginpar 却还挤在右边!” “那好办~给 geometry 加个 reversemarginpar 参数就好~” “哇哇哇…… LaTeX 真是博大精深……那我就再问问,如果想让第二页开始,左右页距都再变回 2cm (就是说不再在左或右边留出空白),行吗?” “你怎么需求还真多啊……自己找找相关的宏包吧,changepage 还是什么的,你学姐老是说我不自己查资料,这不能我一个人被批评!” “好啦好啦……嗯……嗯嗯……哦,哦哦,可以这样再这样这样……咦?…………学兄不行啦你帮我看看啦!我尝试把 afterpagechangepage 结合使用,一点效果都没有!”
\usepackage[left=2cm,right=6cm,....]{geometry}
\usepackage{afterpage,changepage}

% 过了这一页,将右边页距减少4cm(得到总共 6cm 右边页距)
\afterpage{\changetext{}{4cm}{}{}{}}
~\marginpar{\sffamily\raggedright Cake dessert apple pie cheesecake donut. 
Brownie fruitcake candy candy canes powder pastry chupa chups macaroon.}
Cookie halvah lemon drops sweet roll brownie....
“啊哈哈少年,这是经典的概念错误,\afterpage 里的参数都是本地局部范围的,所以 \changetext 的参数出不来的~” “那咋办?” “\changetext 倒是用对了,哎,到了这一步,也只能手动作业了,虽然有点违反我的美学——你得看清了第一页的主文在哪儿结束,然后在那儿把 \changetext指令给加下去,还得加一个 \newpage\clearpage!” “啊有了有了!!不过,第一页的最后一行就不左右对齐啦?第二页的第一行可以用 \noindent 修正我是知道啦。” “是啦,这样我们还是另外定义一个咒语般的宏好了:
\newcommand{\switchlayout}{%
  {\unskip\parfillskip 0pt\par}%
  \changetext{}{4cm}{}{}{}\noindent \ignorespaces}
然后在刚才同样的地方挪用这个宏~” “啊,好漂亮!……但那是干嘛的?” “就说了,咒语呗,把这一个段落逼得右边对齐的咒语,你改天再找 The TeX Book 好好读读吧。(读完了给我说一说,我懒得自己读~)” “????……学兄,我可以说您真的帅不过三秒吗,在后辈面前表现得这么慵懒行吗……”
分享到:
未经允许不得转载:莲枝专栏--不等宽双栏,怎么破?
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

      热门评论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系latexstudio@qq.com
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。

        关注微信公众号: latex2015

        如果您投稿或者希望加入我们团队,请发送您的简历到latexstudio@qq.com。

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们