Armoniza el ancho de los extractos de MusiXTex automáticamente

Armoniza el ancho de los extractos de MusiXTex automáticamente

Se ha encontrado una respuesta que es suficiente pero no óptima.Cualquier mejora es bienvenida.

Varios MusiXTeXextractos se colocan en unos flotadores como subfiguras de un documento. La variación de amplitud de estos extractos dentro del entorno de una figura puede no agradar a la vista. Los anchos no varían mucho. Por lo tanto, un ancho uniforme podría resultar beneficioso. ¿Hay alguna manera de lograr esto automáticamente? Si es así, entonces el ancho debe ajustarse en cada entorno de figura individualmente. Quizás sea razonable ampliar la cuestión para armonizar el ancho de varios extractos en diferentes flotadores en la misma página.

El siguiente MWE muestra el problema y mi enfoque manual se puede encontrar en las respuestas.

\documentclass{article}
\usepackage{subfig,musixtex}

\begin{document}

\begin{figure}
\subfloat[narrow example]{%
\begin{music}%
\nobarnumbers%
\startextract%
\NOTEs\wh{cdefg}\enotes%
\endextract%
\end{music}}

\subfloat[wide example]{%
\begin{music}%
\nobarnumbers%
\startextract%
\NOTes\ha{cdef}\enotes\bar%
\NOTes\ha{ghi}\enotes%
\endextract%
\end{music}}

%\subfloat[test]{%from p. 116 of the manual, most like useless for this problem
%\begin{music}%
%\let\extractline\hbox
%\hbox to \hsize{%
%\hss\startextract\NOTes\hu{cd}\enotes\endextract\hss%
%\hss\startextract\NOTEs\wh{cd}\enotes\endextract\hss}%
%\end{music}
%}
\caption{Can these two examples automatically have the same width?}
\end{figure}

\end{document}

ingrese la descripción de la imagen aquí

Observación.Pido disculpas de antemano por el mal juego de palabras del título.

Respuesta1

A continuación se muestra un enfoque manual, por lo que se responde la pregunta.excepto por el aspecto automático.

El uso de \hsize=\musicwidthpodría ser más natural y más eficiente que \parboxo minipagepara la encapsulación. No hace falta decir que una definición global del ancho que no cambia satisface el requisito de un ancho constante en la misma página en varios figureentornos, pero puede no ser apropiada para todos los extractos. Sin embargo, podría existir un tamaño comprometido para la mayoría de las figuras.

\documentclass{article}
\usepackage{subfig,musixtex}

\newlength{\musicwidth}%new
\setlength{\musicwidth}{0.75\textwidth}%new, can be set for each instance of a figure environment 

\begin{document}

\begin{figure}
\centering%new

\subfloat[narrow example]{
%\fbox
{\begin{music}
\hsize=\musicwidth%new
\nobarnumbers%
\startpiece%new
\NOTEs\wh{cdefg}\enotes%
\endpiece%new
\end{music}}}

\subfloat[wide example]{
%\fbox
{\begin{music}
\hsize=\musicwidth%new
\nobarnumbers%
\startpiece%new
\NOTes\ha{cdef}\enotes\bar%
\NOTes\ha{ghi}\enotes%
\endpiece%new
\end{music}}}

\caption{This manual approach by try and error works. But there might be room for improvement.}
\end{figure}

\end{document}

ingrese la descripción de la imagen aquí

Observación.Quizás el comentario sutil \startpiece%newnecesita una explicación adicional: en contraste con el MWE deArmoniza el ancho de los extractos de MusiXTex automáticamente, esta propuesta requiere la generación del *.mx2archivo como está escrito en el manual https://ctan.org/pkg/musixtexen la sección "sistema de tres pasos" (lea el manual fino, RTFM).

información relacionada