我开始使用 LaTeX。我想写一个文档并定义一些样式。
在这种情况下,我想做两件事一份一段:
- 它是红色的
- 右对齐
我的问题是,在定义环境时我不知道如何同时做到这两点。
这是我的代码:
%Define color
\newcommand{\txtred}[1]{\textcolor{red}{#1}}
%Command to use in the context
\newcommand{\atright}[1]{\renewcommand{\atright}{#1}}
\newenvironment{txtbook}
{\begin{flushleft}}
{\txtred{\atright}
\end{flushleft}
}
在上下文中:
\begin{txtbook}Del libro del Génesis \hfill \atright{9, 8-15}\end{txtbook}
这可行,但我想将其转换\hfill
到环境中,但我不知道该怎么做。
我正在使用回忆录,如果有更简单的方法可以做我想做的事情,我将不胜感激。
右边有一个例子,有这样的论点:
答案1
如果您确实希望使用环境和当前界面,则以下内容就足够了:
\documentclass{memoir}
\usepackage{xcolor,lipsum}
\newcommand{\txtred}{\textcolor{red}}
\newcommand{\atright}{\mbox{}\hfill\txtred}
\newenvironment{txtbook}{%
\raggedright
}{%
\unskip\par
}
\begin{document}
\lipsum[1]
\begin{txtbook}
Del libro del Génesis \atright{9, 8-15}
\end{txtbook}
\lipsum[2]
\end{document}
如果需要,可以添加一些间距调整。
答案2
我会使用命令,而不是环境。
\documentclass{memoir}
\usepackage{xcolor}
\usepackage{lipsum} % for mock text
\newcommand{\txtbook}[2]{%
\par\addvspace{\topsep}
{\centering #1\hfill\textcolor{red}{#2}\par}\nopagebreak
\addvspace{\topsep}
}
\begin{document}
\txtbook{Del libro del Génesis}{9, 8-15}
\lipsum[1]
\end{document}