\def 中的问题

\def 中的问题

我想做出如下形式的定义:

\def\nameMYdef#1{
if (length of text #1) <= (width of the text on the page (? \textwidth ?) ) 
then (center(#1))
else ( justification(#1))
}

当然,这只是象征性的记录,希望大家能够理解。

谨此致以最诚挚的问候并期待您的回复。

答案1

根据您希望如何处理缩进以及是否允许在段落开头之外进行调用,可能需要进行一些定义调整。

\documentclass{article}
\usepackage{lipsum}
\def\nameMYdef#1{%
  \setbox0=\hbox{#1}\ifdim\wd0<\linewidth\relax\centerline{#1}\else #1\fi}
\begin{document}
\nameMYdef{Test of short line}

\nameMYdef{\lipsum[1]}
\end{document}

相关内容