You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LaTeX中调整musixtex音乐环境textwidth的问题求助(A5文档)

如何在不插入分页的情况下缩小MusixTeX音乐片段的文本宽度?

我明白你遇到的痛点了:想给A5文档里的MusixTeX音乐块缩小左右宽度,但试过的方法要么没法处理长音乐分页,要么音乐换行的位置不对。核心问题确实是MusixTeX的music环境默认只会读取全局的\linewidth,不会自动继承adjustwidth这类局部环境的宽度设置。

这里给你一个完美的解决方案,结合adjustwidth和MusixTeX自带的命令来实现需求:

  • 继续使用changepage包的adjustwidth环境来设置左右缩进,它能帮你调整音乐块的整体边界,同时不强制插入分页。
  • 在music环境内部开头添加\setlinewidth{\linewidth},这个命令会告诉MusixTeX使用当前局部环境下的\linewidth,而不是全局的文档宽度,这样音乐的换行就会对齐新的右边界。

修改后的MWE代码

\documentclass{article} 
\author{Myself} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{geometry} 
\geometry{a5paper, twoside, inner=1.375cm, outer=1.375cm, top=1.5cm, bottom=1.5cm} 
\usepackage{changepage} 
\usepackage{musixtex} 
\usepackage{lipsum} 
\begin{document} 
\lipsum[1] 
\begin{adjustwidth}{0.5cm}{0.5cm} 
\begin{music} 
\setlinewidth{\linewidth} % 关键:让MusixTeX使用当前局部的linewidth
\instrumentnumber{1} 
\setstaffs1{1} 
\generalmeter{\meterfrac{9}{4}} 
\generalsignature{-1} 
\nostartrule 
\normalmusicsize 
\nobarnumbers 
\startpiece 
\NOtes\qu{ff}\ql{j}\en\bar 
\NOtes\qup{h}\cu{g}\qu{fedc}\en 
\NOtes\qu{def}\en\bar 
\NOtes\hup{gf}\en\rightrepeat 
\NOtes\ql{jjj}\en\bar 
\NOtes\hlp{k}\qu{h}\ql{ij}\en 
\NOtes\qlp{j}\cl{i}\qu{h}\en\bar 
\NOtes\hup{g}\qu{cdefgh}\en\bar 
\NOtes\hup{gf}\en 
\Endpiece 
\end{music} 
\end{adjustwidth} 
\lipsum[2] 
\end{document}

效果说明

  • 音乐块左右各缩进0.5cm,完全适配缩小后的宽度,换行位置不再错位。
  • 长音乐片段可以正常分页,不会像minipage那样被截断在一页里。
  • 不会像\newgeometry那样强制插入额外的分页符,文本和音乐的排版衔接自然。

内容的提问来源于stack exchange,提问作者FlipMJU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 16:02:28