我正在写一些笔记,并且我觉得值得重复我在其他地方记下的笔记,我想表明那些特定的笔记是我(希望!)已经知道的旧笔记。
我选择了浅灰色斜体字体。
我认为为这项工作定义一个新命令是一个好主意——毕竟这不是 LaTeX 的方式吗?
没什么特别的,只是:
\newcommand{\existingnotes}[1]{\textit{\textcolor{gray}{#1}}}
问题是,我将我的笔记以项目符号形式呈现,而这正是事情变得棘手的地方。
这:
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
\existingnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
作品:
这:
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
\begin{itemize}
\item Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam
varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna
felis sollicitudin mauris.
\end{itemize}
\existingnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
不:
我相信我不需要解释,如果我的命令在嵌套的itemize
d 列表之后立即使用,它会引入过多的垂直空间。
显然你想要做的只是使用一些不错的开关:
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
\begin{itemize}
\item Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam
varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna
felis sollicitudin mauris.
\end{itemize}
{\color{gray}\itshape
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
这很有魅力:
但是我从未见过有关如何创建新开关的任何建议,我宁愿定义一个好的命令,而不是硬编码视觉格式。
平均能量损失
\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[margin=1.8cm]{geometry}
\geometry{a4paper}
\usepackage[parfill]{parskip}
\usepackage{amsmath}
\usepackage{xcolor}
\newcommand{\existingnotes}[1]{\textit{\textcolor{gray}{#1}}}
\begin{document}
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
\begin{itemize}
\item Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam
varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna
felis sollicitudin mauris.
\end{itemize}
\existingnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
\end{document}
跟进
这本质上是为了在一组新注释中“引用”旧注释。
我还希望能够将新注释添加到旧注释中,为此我想出了一个简单的环境,为我提供浅灰色、斜体字体,并在两边添加一点缩进,毕竟这是一个引文。然后一个命令为我提供黑色、直立的新注释文本:
\usepackage{quoting}
\newenvironment{oldnotes}{%
\begin{quoting}[font=itshape]\color{gray}}{\end{quoting}%
}
\newcommand{\newnotes}[1]{\textnormal{\textcolor{black}{#1}}}
我一直很开心地使用它,没有意识到它有一个缺陷。只要我不嵌套itemize
环境,它也能很好地工作:
\begin{oldnotes}
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
\newnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
\end{oldnotes}
但是,当然,它不适用于嵌套itemize
环境:
\begin{oldnotes}
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
\begin{itemize}
\item Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam
varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus
magna felis sollicitudin mauris.
\end{itemize}
\newnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
\end{oldnotes}
有人能帮助我改善我的定义吗?
加分
显然,如果oldnotes
环境可以依赖于\existingnotes
命令,那就非常优雅了,因为如果我决定,比如说,我想要一种略有不同的灰色,那么我可以同时更改两者。或者如果我想使用蓝色 :P
答案1
在你的情况下,使用开关定义它在组内:
\documentclass{article}
\usepackage[parfill]{parskip}
\usepackage{xcolor}
\newcommand{\existingnotes}[1]{{\color{gray}\itshape #1}}
\begin{document}
\begin{itemize}
\item Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
\begin{itemize}
\item Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam
varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna
felis sollicitudin mauris.
\end{itemize}
\existingnotes{%
\item Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.%
}
\item Duis aute irure dolor in reprehenderit in voluptate velit esse cillum
dolore eu fugiat nulla pariatur.
\end{itemize}
\end{document}