有沒有一種方法可以格式化清單評論,以便它們右對齊並以不同的符號顯示?

有沒有一種方法可以格式化清單評論,以便它們右對齊並以不同的符號顯示?

這個帖子,定義可以透過轉義字串使用的註解指令。有沒有辦法以某種方式在 pdf 輸出中重新格式化定義的註解字串?

例如,是否可以有類似的東西...

\documentclass{article}
\usepackage{listings}

\lstset{basicstyle=\small\sffamily,
  numbers=none,
  frame=tb,
  columns=fullflexible,
  comment=[l]{\#},
  showstringspaces=false,
  escapechar=\&% char to escape out of listings and back to LaTeX
}


\begin{document}
\begin{lstlisting}
  Hello  # Comment 1
  World  # Comment 2
\end{lstlisting}
\end{document}

做同樣的事情...

\documentclass{article}
\usepackage{listings}

\newcommand*{\Comment}[1]{\hfill\makebox[3.0cm][l]{$\triangleright$ #1}}%
\lstset{basicstyle=\small\sffamily,
  numbers=none,
  frame=tb,
  columns=fullflexible,
  showstringspaces=false,
  escapechar=\&% char to escape out of listings and back to LaTeX
}

\begin{document}
\begin{lstlisting}
  Hello  &\Comment{Comment 1}&
  World  &\Comment{Comment 2}&
\end{lstlisting}
\end{document}

透過某種方式定義註解字串並commentstyle使用\Comment{}命令?

答案1

第一個解決方案是使用選項moredelim=**[il][\hfill$\triangleright$ ]{\#}。由於\hfill,如果數字的位數不同,則兩次出現的 Comment 並不正好位於彼此下方。

在此輸入影像描述

\documentclass{article}
\usepackage[paperwidth=8cm,paperheight=2cm,left=0.5cm,right=0.5cm]{geometry}
\usepackage{listings}
\lstset{
  basicstyle=\small\sffamily,
  frame=tb,
  columns=fullflexible,
  moredelim=**[il][\hfill$\triangleright$ ]{\#}
}
\begin{document}
\begin{lstlisting}
  Hello  # Comment 9
  World  # Comment 10
\end{lstlisting}
\end{document}

第二個解決方案是使用選項

escapeinside={\#}{\^^M},
escapebegin={\hfill\begin{minipage}[t]{3cm}$\triangleright$},
escapeend={\end{minipage}}

這樣就預留了3cm的空間。

在此輸入影像描述

\documentclass{article}
\usepackage[paperwidth=8cm,paperheight=2cm,left=0.5cm,right=0.5cm]{geometry}
\usepackage{listings}
\lstset{
  basicstyle=\small\sffamily,
  frame=tb,
  columns=fullflexible,
  escapeinside={\#}{\^^M},
  escapebegin={\hfill\begin{minipage}[t]{3cm}$\triangleright$},
  escapeend={\end{minipage}}
}
\begin{document}
\begin{lstlisting}
  Hello  # Comment 9
  World  # Comment 10
\end{lstlisting}
\end{document}

相關內容