udline.styで、footnoteを使えるようにしたい。

udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿
返信数: 9

現状のul環境内でfootnoteを使用した出力右のように、\ul{}環境下で\footnote{}を使ってみたのですが、マニュアルに書かれていた引数を取るコマンドのエラー回避の方法を試したものの、文字列が出力されませんでした。回避方法ありませんでしょうか。自分の技量ではこれをどうこうするのは厳しいです。どなたかお力添えいただけませんでしょうか。

KK TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- 和田 勇 の投稿

お願い

示されたソースを復元を試みましたが、上部七行が表示されていないので、11 行目の「\snamift{...|」が検証できない状態です。

latex をお使いの上で自己解決ができない場合は、お試し中のソースとその時に生成されるログファイルを添付していただくと、解決が早役なる可能性があります。今回のケースであれば test4.textest4.log です。

ログファイルが必要なのは、お試しの OS環境、TeXLive 等のバージョン、読み込んだパッケージのバージョンなどから原因を特定するためです。ご協力をお願いします。

i以下は、当方の検証中のソースです。

     \documentclass{jlreq}
     \usepackage{udline}
     %% この間に記述された情報を提供してください
     \begin{document}
     \ul{{$\frac{a+b}{c+d+e}$}}
     \ul{{\TeX}}
     %\snamift{脚注つけてみたいんだけど{\footnote{米印は出るのに出力されない}困った♪}}
     \end{document}

udline.sty のダウンロード先は?

 「udline パッケージのダウンロードについてを参考に 下線拡張パッケージ udline.sty ~下線・飾り下線で改行を~ ver 2.52を参考にダウンロードしたもので検証しています。

上記と異なるのであれば、ダウンロード先などの情報を示してください。
和田 勇 への返信

Re: udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿

申し訳ありません、snamiftは独自マクロであったことを忘れていました。ファイルを添付しておきます。udlineのダウンロード先はGithubからです。
https://github.com/ychubachi/kakenhi-2013-kiban-c/blob/master/udline.sty
このリンクをコピーしていただければ飛べるはずです。

KK TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- 和田 勇 の投稿

情報提供に関して

提供ありがとうございました。

  • test4.tex

    • \newcommand{\namift}[1]{\ft{\setnami\uc{#1}}} における \ft の出典が不明ですので、今回は \def\ft{} とダミーで検証
  • test4.log

    • ログファイルには以下のようなエラーが記録されています。

      \nameft が呼ばれ、そこから未定義の \ft を呼び出そうとしているので エラーになっています。

      480-/Users/kk/Desktop/TeXテキスト/test4.tex:11: Undefined control sequence.
      481-\namift #1->\ft
      482-                {\setnami \uc {#1}}
      483-l.11 ...出るのに出力されない}困った}}
      

      vscode でのコンパイル環境で 多少のエラーは無視してコンパイルを続 行 として運用されているようですが、例え pdf が表示されたとしても open compiler log などのボタン?を押してログを注視してください。

      できればうまくいっても行かなくても。

  • udline.sty は、文字コード及び改行コードを考慮して比較したところ同一のものでした。

対処案

\ft の対処

今回は、仮ですが \ft の出典が不明ですのでダミー化しました

下線部分に脚注が含まれる場合の対処

「LaTeX で下線を引いた部分に脚注が含む場合」というような条件で latex underline footnote でインターネット検索すると 下線を引くマクロにはいくつかあり、 例えば \underline{…{\footnote{...}..} などでも、脚注が表示されないケースはあるようです。

いくつか調べてみましたが、*udline.sty* の利用が前提だとして Underlining with ulem package breaks footnotesを参考にしてみました。 ちょっと書き方が煩雑にはなりますが、いかがでしょうか?

差分情報

diff --git a/test4.tex b/test4.tex
index 9d3c226..7aa26ef 100644
--- a/test4.tex
+++ b/test4.tex
@@ -1,12 +1,18 @@
 \documentclass[8pt,b5paper,twoside]{ltjsreport}
 \usepackage[top=18truemm,bottom=18truemm,left=15truemm,right=15truemm]{geometry}

-\usepackage{/Users/kk/Documents/TeX/styles/udline}
+\usepackage{udline}% カレントディレクトリに配置、絶対パス指定から改修
+\def\ft{}% \namift での「\ft」の出典不明なのでダミー
 \newcommand{\namift}[1]{\ft{\setnami\uc{#1}}}%改行もok
 \newcommand{\snamift}[1]{{\small\namift{#1}}}%改行もok

 \begin{document}
 \ul{{$\frac{a+b}{c+d+e}$}}
 \ul{{\TeX}}
+
 \snamift{脚注つけてみたいんだけど{\footnote{米印は出るのに出力されない}困った}}
+
+\snamift{煩雑だけど\mbox{\footnotemark}}% ←左の「%」はアキ抑制で必要
+\footnotetext{脚注出力!!}% ←左の「%」はアキ抑制で必要
+\snamift{脚注が付けられる}
 \end{document}
和田 勇 への返信

Re: udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿

\ftも自作の短縮マクロでした...。別のプリアンブルファイルに入れていたのに読み込み忘れてエラーを吐いていたようです。本当にお手数かけて申し訳ありません。

確かに、送っていただいた方法で回避できるようです。

\ul{これは注釈\footnotemark{}付きの文1\footnotemark{}}%
\footnotetext{注釈の内容1}
\footnotetext{注釈の内容2}

のように多少改変してみましたが、こちらでも問題なく動きます。

直接かける方法がないか自分で色々試してみていたのですが、特殊な回避をせずに動くようにするのはなかなか難しく、ギブアップしました。どうもありがとうございました。
KK TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- Dora TeX の投稿

udline.styにこだわりがなければ,各エンジンごとに次のようにして「行分割可能な下線」と脚注は併用可能です。

LuaTeX-jaの場合

%!lualatex
\documentclass{ltjsarticle}
\usepackage{lua-ul} % lua-ulパッケージの \underLine を使う
\begin{document}
こんにちは\underLine{あああああああああああああああああああああああああああああ\footnote{いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい}うううううううううううううううううううううううううううううううううううううううううううううううううううううう}です。
\end{document}

(u)pTeXの場合

%!(u)platex
\documentclass[autodetect-engine,dvipdfmx]{jsarticle}
\usepackage{myuline--} %% available at https://github.com/doraTeX/breakfbox; see https://doratex.hatenablog.jp/entry/20171219/1513609345 for details.
\begin{document}
こんにちは\uline{あああああああああああああああああああああああああああああ\footnote{いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい}うううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううううう}です。
\end{document}
Dora TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿

返信ありがとうございます!(メールの方の返信もこちらで代替させてください。)

自分はluaを使っているので、lua-ulを試してみました。lua-ul.dtxをstyにコンパイルして、(添付しました)使ってみたのですが、コンパイルがちっとも終わらないという事態に陥りました。logファイルも添付しようとしたのですが、どういうわけか異常に大きなファイルサイズでして、添付できませんでした(開こうにもずっと読み込み中で開けないという症状です...)。

KK TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- Dora TeX の投稿

普通にTeX Liveを使っていれば,lua-ul.sty ははじめから入っているので,自分で用意する必要はありませんよ。

また,lua-ul.sty の用意している命令は \underline ではなく \underLine です。

Overleaf の TeX Live 2024 による再現例

Dora TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿

overleafでは確かに動いてますね...。同じコードを自分のローカルの環境でコンパイルしましたが、やはり動かないです。

僕のTeX Liveのバージョンを確認してみたのですが、2022年版でした。バージョンが古いから動かないという可能性があるので、これを最新にしてから試してみます。

KK TeX への返信

Re: udline.styで、footnoteを使えるようにしたい。

- KK TeX の投稿
ちょうど今最新版のものにして試してみましたところ、うまくいきました。
やはり自分のTeX Live のバージョンが原因だったようです。
ありがとうございました。