\newcommand{\paralleltext}[4]{%
\columnratio{0.75}%
\begin{paracol}{2}%
\setlength{\parindent}{0pt}%
\firstlineheightanchor% 첫 줄의 높이를 통일함
\marginnote{\charactername{#1}}%
{\Large\vskip-\factorofgreektextstretch\baselineskip% 강제로 끌어올림
\greektextbaselinestretch%
\maingreektext{#2}\par}%
\switchcolumn\sloppy%
\firstlineheightanchor% 첫 줄의 높이를 통일함
\marginnote{\bekkerStephanusNumbers{#4}}%
\maintranslation{#3}
\end{paracol}%
}%
\begin{document}
\paralleltext{Ἐχεκράτης}{τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; }{Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation?}{59d}
%some text
\paralleltext{Ἐχεκράτης}{τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; }{Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation?}{59d}
지금까지 파악한 원인들입니다.
제제 질문의 제목을 바꿔야 할 듯 합니다.
" \paracol 이나 \setstretch 명령이 적용된 첫 줄이, 쪽 처음에서와 쪽 중간에서 다르게 적용되는 문제."
1. 쪽의 중간에 \paracol 환경을 시작했을 때
각 컬럼의 첫줄의 폰트의 크기(높이)가 같지 않으면 첫줄이 정렬이 되지 않습니다.
그래서 각 컬럼의 첫줄에 크기(높이)가 같도록, 이를테면, fake 글자를 넣었습니다.
\rule{0pt}{17.28pt}
하지만 쪽의 처음에서 paracol 환경을 시작할 때 이 문제가 생기지 않습니다.
2. 쪽 중간에 \setstretch 명령을 주면 그 첫줄에 명령이 적용되어서
첫줄 앞에(위에) 빈 공간을 만듭니다.
그래서 빈 공간을 없애도록 강제로 끌어 올리는 명령을 주었습니다.
\vskip-5\baselineskip
하지만, 쪽의 처음에서 \setstretch 명령이 빈 공간을 만들지 않습니다.
그러니까 쪽의 첫줄에 뭔가 특별한 것이 있는가 봅니다.(당연히 그래야 하지만요.)
수정한 코드 입니다. 아래에 이 문제를 파악하기 위해 실험한 코드를 또한 첨부하였습니다.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%!TEX TS-program = xelatex
%!TEX encoding = utf-8 unicode
%!TEX spellcheck = en-US
\documentclass[letterpaper,12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{paracol}
\usepackage{marginnote}
\usepackage{setspace}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Mapping=tex-text,Scale=1]{Libertinus Serif}
\usepackage{polyglossia}
\setmainlanguage{english}
\setdefaultlanguage[variant=us]{english}
\setotherlanguage[variant=ancient]{greek}
\newfontfamily\greekfont[Mapping=tex-text,Script=Greek,Scale=.9]%
{Palatino Linotype}
\def\factorofgreektextstretch{5}
\def\factoroftranslation{1}
\newcommand{\greektextbaselinestretch}{\setstretch{\factorofgreektextstretch}}
\newcommand{\translationbaselinestretch}{\setstretch{\factoroftranslation}}
\newcommand{\charactername}[1]{%
\footnotesize{\bfseries{\textgreek{#1}}}%
}%
\newcommand{\bekkerStephanusNumbers}[1]{%
\normalsize{\bfseries{\textenglish{#1}}}%
}%
\newcommand{\maingreektext}[1]{%
\Large{\textgreek{#1}}%
}%
\newcommand{\maintranslation}[1]{%
\normalsize{\textenglish{#1}}%
}%
\newcommand{\firstlineheightanchor}{\rule{0pt}{17.28pt}}
\newcommand{\paralleltext}[4]{%
\columnratio{0.75}%
\begin{paracol}{2}%
\setlength{\parindent}{0pt}%
\firstlineheightanchor% 첫 줄의 높이를 통일함
\marginnote{\charactername{#1}}%
{\Large\vskip-\factorofgreektextstretch\baselineskip% 강제로 끌어올림
\greektextbaselinestretch%
\maingreektext{#2}\par}%
\switchcolumn\sloppy%
\firstlineheightanchor% 첫 줄의 높이를 통일함
\marginnote{\bekkerStephanusNumbers{#4}}%
\maintranslation{#3}
\end{paracol}%
}%
\begin{document}
\paralleltext{Ἐχεκράτης}{τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; }{Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation?}{59d}
%some text
\paralleltext{Ἐχεκράτης}{τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; τί οὖν δή; τίνες φῂς ἦσαν οἱ λόγοι; }{Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation? Well then, what was the conversation?}{59d}
\end{document}
%%%%%%%%%%%%%%%%%%% 실험 코드
\documentclass[letterpaper,12pt]{article}
\usepackage{paracol}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{showframe}
\begin{document}
\setstretch{1}
\lipsum[1]
\setstretch{2}
\lipsum[2]
\setstretch{3}
\lipsum[3]
\clearpage
\setstretch{2}
\lipsum[4]
~\\~\\
\setstretch{1}
\begin{paracol}{2}
\small\lipsum[1]
\switchcolumn
\Large\lipsum[2]
\end{paracol}
\clearpage
\begin{paracol}{2}
\small\lipsum[1]
\switchcolumn
\Large\lipsum[2]
\end{paracol}
\end{document}