如何让经文水平居中

如何让经文水平居中

我有一首梵文诗,我想让它出现在页面中央。我使用的verse环境如下所示。

\begin{verse}
तपः स्वाध्याय निरतम् तपस्वी वाग्विदाम् वरम् | \\
नारदम् परिपप्रच्छ वाल्मीकिः मुनि पुंगवम् ||
\end{verse}

它不会出现在页面中央,而是出现在页面左侧。有没有办法让它出现在中央。我附上了输出的屏幕截图。

在此处输入图片描述

答案1

xelatex使用或运行示例,lualatex或者使用 的定义(Verse如果要使用pdflatex

\documentclass{article}
\usepackage{fontspec}
\newfontface\Devangari{Devanagari MT}
\usepackage{varwidth}
\newenvironment{Verse}[1][\Devangari]
  {\center#1\varwidth{\linewidth}}
  {\endvarwidth\endcenter}

\usepackage{lipsum}

\begin{document}

\lipsum[1]
\begin{Verse}
तपः स्वाध्याय निरतम् तपस्वी वाग्विदाम् वरम् | \\
नारदम् परिपप्रच्छ वाल्मीकिः मुनि पुंगवम् ||    
\end{Verse}

\begin{Verse}[]
foo bar\\
baz
\end{Verse}

\end{document}

在此处输入图片描述

不定义 Devangari 字体:

\documentclass{article}
\usepackage{fontspec}
\usepackage{varwidth}
\newenvironment{Verse}
  {\center\varwidth{\linewidth}}
  {\endvarwidth\endcenter}    
\usepackage{lipsum}
\begin{document}

\lipsum[1]
\begin{Verse}
foo bar\\
baz
\end{Verse}

\end{document}

答案2

您可以定义一个新的长度来存储最长诗句的宽度,并使用该长度作为\parbox使用环境居中的宽度center

\documentclass{article}
\usepackage{lipsum}

\newlength\mylen
\settowidth\mylen{bbbbbbbbbbbbbbbbbbbbb}

\begin{document}

\lipsum[1]
\begin{center}
\parbox{\mylen}{aaaa \\
bbbbbbbbbbbbbbbbbbbbb}
\end{center}

\end{document}

在此处输入图片描述

另一个选择是使用套餐及其设施:

\documentclass{article}
\usepackage{verse}
\usepackage{lipsum}

\begin{document}

\lipsum[1]
\settowidth\versewidth{bbbbbbbbbbbbbbbbbbbbb}
\begin{verse}[\versewidth]
aaaa \\
bbbbbbbbbbbbbbbbbbbbb
\end{verse}

\end{document}

如果您希望每节诗句都居中显示,那么您可以简单地使用center环境:

\begin{center}
तपः स्वाध्याय निरतम् तपस्वी वाग्विदाम् वरम् | \\
नारदम् परिपप्रच्छ वाल्मीकिः मुनि पुंगवम् ||    
\end{center}

相关内容